![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
美式-咖啡
这个作者很懒,什么都没留下…
展开
-
【MySQL】InnoDB,5项最佳实践
一、关于count(*) 知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。 潜台词是,对于select count(*) from t; 如果数据量大,MyISAM会瞬间返回,而InnoDB则会一行行扫描。 实践:数据量大的表,InnoDB不要轻易select count(*),性能消耗极大。 常见坑:只有查询全表的总行数,MyISAM才会直接返回结果,当加了where条件...转载 2019-03-26 09:24:03 · 134 阅读 · 0 评论 -
【MySQL】不为人知的主键与唯一索引约束
触发约束检测的时机: insert update 当检测到违反约束时,不同存储引擎的处理动作是不一样的。 如果存储引擎支持事务,SQL会自动回滚。 例子: create table t1 ( id int(10) primary key )engine=innodb; insert into t1 values(1); insert into t1 values(1); 其中第二条insert会因...转载 2019-03-26 09:26:46 · 195 阅读 · 0 评论 -
【MySQL】InnoDB调试死锁的方法!
近期写了不少InnoDB锁相关的文章,不少小伙伴问,如何在MySQL终端模拟并发事务,如何复现之前文章中的案例。今天,咱们一起动起手来,模拟并发事务的互斥与死锁。 【事前准备】 安装MySQL服务端 安装MySQL客户端 安装能够模拟多个并发事务的终端 画外音:楼主使用的是MySQL5.6,官方客户端mysql,模拟并发终端用的SecureCRT。 【配置的确认与修改】 要测试InnoDB的锁互斥...转载 2019-03-26 09:30:29 · 165 阅读 · 0 评论