SQL优化

SQL优化

order by,group by, join on 的连接条件用上索引 都可以加快查询速度
group by 的字段 不适合创建索引的场景 可以使用 SQL_BIG_RESULT 提示优化器直接使用磁盘临时表 优化器会继续优化 将数据存到数组中并排序
tmp_table_size 默认16M
order by 可以调整 sort_buffer 减少外部排序文件 提高排序速度
max_length_for_sort_data 控制排序行数据的长度 超过这个长度 使用rowId 排序 小于这个长度则使用全字段排序
rowId排序 优点 占用内存小 缺点 会造成回表多,可能造成额外的磁盘读
调整 join_buffer_size 的大小
count(*) 等计数操作可以单独维护一张计数表 新增数据时计数字段+1 删除数据时计数字段-1
mrr 优化
BKA 优化
不要超过一个表进行join操作 可以用后台代码模拟Join的逻辑 对于不适合创建索引的的表 可以先创建临时表 在临时表中创建索引
小表做驱动表

上一篇:MS SQL修改数据库名称


下一篇:一份尽可能全面的Go channel介绍