摘要:
列是唯一的,或有唯一约束(alibaba 规范指出只要是唯一的必须加索引,哪怕是多列组合是唯一的也要添加一个多列索引) 频繁作为 where 条件的字段 经常 group by 或 order by 的字段(对 select 结果集再次索引才能再次得到一个最终结果集) distinct 字段 upd 阅读全文
摘要:
思路 是否存在周期波动(如果是云数据库,控制台能看到),如果是,分析高峰,适当加缓存 加了缓存仍没有解决问题,开启慢查询,并使用 EXPLAIN 分析慢 sql 索引情况,也可通过 profile 查看每个步骤时间成本 分析结果如果是等待时间长,对数据库参数进行调优(连接池等) 分析结果如果是 sq 阅读全文
摘要:
表锁:InnoDB 支持行锁,不代表着就不支持表锁 表锁的 S 和 X 锁,MyISAM 的锁(不建议在 InnoDB 中使用) -- 查看当前有表锁的表 show open tables where in_use > 0; -- 给表加 S 锁(所有事务都能读,所有事务都不能写) lock tab 阅读全文
摘要:
ACID Atomicity:原子性(UNDO LOG实现),一组操作要么都成功,要么都失败 Consistency:一致性(UNDO LOG实现),从一个合法状态变为另一个合法状态(语义上不是语法上)。比如转账之后余额为负数,虽然也能守恒,但是明显不合法。或者转账时A账户钱少了,B账户钱没多,也是 阅读全文
摘要:
内存和磁盘每次交互都是完整的页,数据页里面存放的是行(不仅仅是数据库的数据行,还有行格式等) 页(16k,计算机与内存的最小单位)的上层单位还有区(一个区存放64个页,64*16k = 1024k,刚好 1M),区上面是段(一个或多个区组成),段上面是表空间(一个或多个段组成) 行格式 show t 阅读全文
摘要:
存储引擎 |引擎|特性|文件| |--|--|--| |InnoDB|默认,支持事务,支持外键,支持行锁和表锁|.frm 文件存储表结构.ibd 文件存储数据和索引| |MyISAM|不支持事务,不支持外键,只支持表锁不支持行锁专门维护了一个常量保存每个表的总记录数(count 很快)MyISAM 阅读全文
摘要:
数据定义语言分类 | 类型 | 解释 | 备注 | | | | | | DDL | 数据定义语言 | 创建修改库、表、视图、索引、约束等CREATE、DROP、ALTER 等 | | DML | 数据操作语言 | 数据行的增删改INSERT 、 DELETE 、 UPDATE 等 | | DQL | 阅读全文