02 2023 档案
摘要:一、慢日志查询 1、参数 log_output: 日志输出到哪儿,默认FILE,表示文件;设置成TABLE,则将日志记录到mysql.slow_log中。也可设置多种格式,比如 FILE,TABLE long_query_time: 执行时间超过这么久才记录到慢查询日志,单位秒,可使用小数表示小于秒
阅读全文
摘要:一、explain必备知识 1.type取值 性能从好到坏排序如下 system:该表只有一行(相当于系统表),system是const类型的特例 const:针对主键或唯一索引的等值查询扫描, 最多只返回一行数据. const 查询速度非常快, 因为它仅仅读取一次即可 eq_ref:当使用了索引的
阅读全文
摘要:以下内容只针对innodb,mysql版本基于5.6 一.join优化 1、优化算法 优化算法了解:嵌套循环-NLJ(Nested-Loop Join)、块嵌套循环-BNLJ(Block Nested-Loop Join)、MRR(mUlti Range Read)、批量键值访问-BKA(Batch
阅读全文
摘要:一、长字段索引优化 1、额外创建一个hash字段,作为索引(B+tree的伪hash) hash算法应满足(一般使用crc32或fnv64): a、字段长度应该比较小(SHA1/MD5不合适) b、尽量避免hash冲突 示例:select * from t_goods where name = 'w
阅读全文
摘要:一、创建索引的原则 1、建议创建索引的场景 where语句的查询条件 select语句,对于某些字段经常作为 where语句的查询条件; Update/delete语句的where条件频繁使用时的字段 需要分组、排序的字段 distinct所使用的字段 如果字段的值,有唯一性约束,要创建唯一索引 对
阅读全文
摘要:一、InnoDB和MyISAM的存储方式 1、InnoDB存储方式 使用的B+Tree数据结构,物理存储角度是聚簇索引 对于主键索引: 叶子节点会存储主键以及主键所对应数据块的指针; 对应非主键索引(二级索引、辅助索引):叶子节点存储索引以及这条数据对应的主键;需要先通过非主键索引查到主键,然后通过
阅读全文