MYSQL order by排序导致效率低小优化
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,有一个主表left join 同一个小表两次分页语句,因为order by 导致执行时做排序,从执行计划中Using filesort ,以及profile中creating sort index 耗
千家信息网最后更新 2024年09月22日MYSQL order by排序导致效率低小优化
有一个主表left join 同一个小表两次分页语句,因为order by 导致执行时做排序,从执行计划中Using filesort ,以及profile中creating sort index 耗时可以看出。
从trace文件可以看出filesort的计算:
"join_execution": { "select#": 1, "steps": [ { "filesort_information": [ { "direction": "desc", "table": "`topxxx` `t`", "field": "create_date" } ] /* filesort_information */, "filesort_priority_queue_optimization": { "limit": 20, "rows_estimate": 2302749, "row_size": 264, "memory_available": 4194304, "chosen": true } /* filesort_priority_queue_optimization */, "filesort_execution": [ ] /* filesort_execution */, "filesort_summary": { "rows": 21, "examined_rows": 216594, "number_of_tmp_files": 0, "sort_buffer_size": 5712, "sort_mode": "" } /* filesort_summary */ } ] /* steps */ } /* join_execution */ }
后面通过索引加入排序字段后减去排序操作,排序字段放在索引的最前面。
create index idx_topxxx1 on topic (create_date desc,is_del,is_en);
trace 中可以看出排序使用了索引。
"reconsidering_access_paths_for_index_ordering": { "clause": "ORDER BY", "index_order_summary": { "table": "`topic` `t`", "index_provides_order": true, "order_direction": "desc", "index": "idx_topxxx1", "plan_changed": true, "access_type": "index" } /* index_order_summary */ } /* reconsidering_access_paths_for_index_ordering */ }, {
以此记录。
排序
索引
字段
文件
语句
效率
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南岳电控软件开发
六盘水慧聪网络技术有限公司
计算机软件开发企业开票
中国网络安全的十大品牌
网络安全保险冷门现象
SQL语句更改数据库表结构
学习数据库与应用的心得
清华大学网络安全专业博士后
计算机软件开发照片
数据库 字段不同 迁移
网络安全靠人民党日活动
dayz没有服务器能玩吗
时序数据库实例
安卓软件开发团队
数据库层次化保护
301到服务器ip权重
简述实现数据库安全的设计
阿里巴巴网络技术有限公司东莞
oracle服务器的编码
深圳国际航运科技和互联网
吃鸡报错无法连接服务器
金融业网络安全事件
安卓系统 三维软件开发
网络安全工具goby
网络安全事件分为哪些
华为升腾底层软件开发工程师
服务器后面有个蓝色的灯
sql清空数据库建立结构
山东物流软件开发公司
电子科技大学互联网创新创业