数据库
chmodzora
技术至上
展开
-
Redis zset (sorted set)存储结构
Redis 为什么用跳表而不用平衡树?本文是《Redis内部数据结构详解》系列的第六篇。在本文中,我们围绕一个Redis的内部数据结构——skiplist展开讨论。Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这...转载 2020-03-27 00:26:50 · 1127 阅读 · 0 评论 -
case when 出来新得列作为where条件
目前发现要在外面多套一层循环,不知道有没有更好得办法select * from (Select *, case when XXXX AS field ) AS t where XXXX原创 2020-03-13 16:04:49 · 851 阅读 · 0 评论 -
Redis 和Memcache的区别
现在新浪微博大规模的都是基于redis来架构的。redis和memecache的不同在于:1、存储方式:memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性。2、数据支持类型:redis在数据支持上要比memecache多的多。3、使用底层模型不同:新版本的redis直接自己构建了VM 机制 ,因为一般的系...转载 2018-10-10 14:32:18 · 151 阅读 · 0 评论 -
mysql和hbase应用场景对比
Hadoop是离线计算平台,其中包括分布式文件系统(HDFS)和分布式计算(MapReduce),这本身是无法对响应时间做保证的。但是目前在Hadoop之上的生态系统越来越完善,其中HBase就是支持海量数据、高并发的在线数据库,应对这种场景就非常适合。HBase在这次双十一中与MySQL等在线数据库共同作为线上库使用,承担了重要的责任,并创下了并在全天高压力之下无故障的佳绩。另外非Hadoop...转载 2018-10-10 11:25:16 · 5822 阅读 · 0 评论 -
MySQL事务与锁
锁的基本概念 锁是计算机协调多个进程或线程并发访问某一资源的机制。 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁(已过时);InnoDB存储引擎既支持行级锁(row-le...转载 2018-08-26 21:04:27 · 495 阅读 · 1 评论 -
数据库隔离级别
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现 ×: 不会出现脏读不可重复读幻读Read uncommitted√√√转载 2017-09-06 11:13:20 · 170 阅读 · 0 评论 -
数据库事务回滚
spring 事务回滚1、遇到的问题 当我们一个方法里面有多个数据库保存操作的时候,中间的数据库操作发生的错误。伪代码如下:?1234567publicmethod() { Dao1.save(Person1); Dao1.save(Pe转载 2017-09-05 20:24:36 · 19625 阅读 · 0 评论 -
搜索引擎索引的数据结构和算法
最近一直在研究 sphinx 的工作机制,在《Sphinx 的介绍和原理探索》简单地介绍了其工作原理之后,还有很多问题没有弄懂,比如底层的数据结构和算法,于是更进一步地从数据结构层面了解其工作原理。在网上搜了很多资料,发现没有很多介绍这方面的文章,后来找到了一本书,《这就是搜索引擎》,拜读了本书的第三章,介绍了主流搜索引擎用的数据结构及其工作原理,sphinx使用的数据结构也是一样的,用的也是倒排转载 2017-08-09 15:23:52 · 862 阅读 · 0 评论 -
数据库隔离级别
这也是面试常问的问题了,身边的同学师兄也都被问到过,很容易忘记。一、隔离级别及含义事务隔离级别(transaction isolation levels):隔离级别就是对对事务并发控制的等级。ANSI/ ISO SQL将其分为串行化(SERIALIZABLE)、可重复读(REPEATABLE READ)、读已提交(READ COMMITED)、读未提交(READ UNCOMMITED)转载 2017-05-02 15:55:07 · 517 阅读 · 0 评论 -
数据库优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where子句中使用!=或 3.应尽量避免在 where 子句中对字段进行null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t wherenum is null 可以在num上设置默认值0,确保表中num转载 2017-04-04 21:49:02 · 175 阅读 · 0 评论 -
ibatis与mybatis区别,hibernate、mybatis、JDBC区别
ibatis与mybatis区别?ibatis是mybatis的前身,在2010年7\8月份ibatis所项目移到了google,就将ibatis3.x正式改名为mybatis3.x了。除此之外,mybatis相比ibatis使用起来更加方便,有:1)Mybatis实现了接口绑定,使用更加方便。 2)对象关系映射的改进,效率更高3)MyBat转载 2017-04-09 23:03:32 · 324 阅读 · 0 评论