mysql
E_N_T_J
这个作者很懒,什么都没留下…
展开
-
MySQL与Redis的区别
mysql事务的原子性mysql中的事务具有原子性,但其原子性的要求仅仅是事务中的操作具有原子性,即要么都执行,要么都不执行。但并没有要求事务中的所有操作是一个原子操作(即不可分割的整体,按顺序依次执行,不允许其它事务中的操作插入到该执行单元),因此一个事务中的操作具备了都成功执行,或者失败回滚的原子性,但事务中的各个操作之间可以插入其它事务的操作,从而不是原子操作,因此就出现了事务中数据不一致...原创 2020-03-03 09:21:49 · 372 阅读 · 0 评论 -
Mysql的锁及表锁性能
MyISAM只支持表锁,但网上文章却说,在并发插入量比较大的时候,比较适合使用MyISAM,这矛盾吗?这个问题,涉及MySQL表锁的一些细节,借着这个问题,系统性说下表锁的“所以然”。MySQL表锁知识系统性梳理。哪些存储引擎使用表锁?MySQL,除InnoDB支持行锁外,MySQL的其他存储引擎均只使用表锁,例如:MyISAM, MEMORY, MERGE等。...转载 2020-02-24 16:26:23 · 348 阅读 · 0 评论 -
InnoDB的哈希索引
InnoDB支持哈希索引吗?对于InnoDB的哈希索引,确切的应该这么说:(1)使用InnoDB存储引擎的用户无法手动创建哈希索引,这一层上说,InnoDB确实不支持哈希索引;(2)InnoDB会自调优(self-tuning),如果判定建立自适应哈希索引(Adaptive Hash Index, AHI),能够提升查询效率,InnoDB自己会建立哈希索引,这一层上说,InnoDB又是...转载 2020-02-24 15:54:03 · 1527 阅读 · 0 评论 -
MySQL架构和处理逻辑
原创 2020-02-24 13:09:13 · 131 阅读 · 0 评论 -
MySQL多独立单列索引
问题sql中使用多个条件进行查询,这多个条件分别建立了独立的索引,MySQL在执行查询时会走索引吗?测试MySQL版本SELECT VERSION();结果:5.1.73表结果及索引结构测试结果EXPLAIN SELECT * FROM testInfo WHERE `name` = 'tomandjerry';EXPLAIN SELECT * FROM tes...原创 2020-02-18 11:14:21 · 668 阅读 · 0 评论 -
MVCC
问题阅读《高性能MySQL》时读到MVCC这里,关于Innodb可重复读下的多版本并发控制介绍过于简单,因此很多细节被忽略后,导致一些情况难以理解,比如按照书中介绍的,如果表中有一条数据其事务版本号为1 name字段数据为li,此时有事务版本号为2的事务进行update操作但未提交,此时又有事务版本号为3的事务进行select * from table的操作得到该记录name为li,然后事务版本...原创 2020-02-16 21:20:11 · 261 阅读 · 0 评论 -
mysql or null 统计某个字段不同值的个数
MySQL碰到一个sql问题查询items表,统计color字段有多少种颜色,即统计某个字段不同值的个数SELECT COUNT(color = 'red' OR NULL) AS 'red', COUNT(color = 'blue' OR NULL) AS 'blue' FROM items;SELECT SUM(IF(color = 'red', 1, 0)) AS 'red', ...原创 2020-01-29 17:21:22 · 1222 阅读 · 1 评论