mysql 优化
show profile 查询解析工具,指定具体的type
show performance schema 性能模块 监控mysql
show processlist 查看连接的线程个数,查看状态是否正常。
ip地址的保存,可用整形+函数 TNET_ATON
varchar可变长度字符串:
1、使用最小的符合需求的长度,255字节内额外占用一个字节长度,255以上额外占用2个字节保持长度;
2、varchar(5)和varchar(255)保持相同内容,硬盘占用空间一样,内存空间按指定大小 ;
3、 变更长度锁表,超过255锁表
应用场景:1、适合可长可短的内容如文章等 ;2、适合中文、更新比较少的内容,每次更新会重算使用额外存储空间保存长度;
char固定长度字符串:
1、最大长度255;2、保存时末尾空格删除;3、检索和写效率比varchar高,以空间换时间;
应用场景:适合长度波动不大的数据如 md5摘要、存储短字符串,经常更新的字段
二叉树——lvs(二叉平衡树)——红黑树(最小和最大子树不能超过2倍,红点不能相连,每条子树的黑点一致)
B树(存地址指针、键值(表中的主键)+数据)——B+树(存地址指针、键值,只在叶子节点存数据,叶子节点链式表) 一般是3层结构,可支撑千万级别数据 16k*16k*16k=4096k
mysql如果并发高,内存不够,需要频繁计算内存,可能导致慢
回表:普通索引查询最后会再查id的索引,就是查2次索引就叫回表
覆盖索引:能够直接命中,不需要回表,比如直接查id
最左匹配:建索引的基础原则,联合索引严格匹配顺序,必须满足最左才能走索引
索引下推: 组合索引时同时过滤几个条件
一个表最好5个索引以内、联合索引最好就5个字段以内。
分区表:范围分区、列分区、hash分区等。在文件中带#号,分区字段和索引字段一致。
group by 字段范围 group by INTERVAL(t1.id,1,3,5,8) 表示分组按id为小于1的,1到3的,3到5的,5到8,大于8来分组显示。

浙公网安备 33010602011771号