bitsCN.com
mysql sql性能优化之order
mysql的order在排序时,会被select出来的数据多少所影响,
数据列越多,排序越慢,为了说明这个问题,请看几个例子。
高效的查询
低性能:
select id,job_name from test_results where id
1 rows fetched (390 ms)
高性能:
系统特点:技术领先:系统基于被广泛使用的Windows平台开发,集百家之所长,技术领先、功能完备; 快速建店:只需简单设置,3分钟即可以建立一个功能完备的网上商城; 操作简便:软件操作界面由专业设计人员设计,采用人性化的布局,界面规范,操作简捷; 安装方便:只需传到您的虚拟空间即可; HTML编辑器:内置优秀的HTML在线编辑器; 可扩展性:软件构架灵活,考虑未来功能扩充之需要,具有较强的可扩展性
0
select id,job_name from test_results where id =(select id from test_results where id
1 rows fetched (281 ms)
高效的分页查询 www.bitsCN.com
低性能:
select id,job_name from test_results order by id desc limit 1200000,100;
100 rows fetched (34.616 sec)
高性能:
select id,job_name from test_results join (select id from test_results order by id desc limit 1300000,100) as t2 using(id);
100 rows fetched (5.460 sec)
接下来我们分析其原因,首先从mysql的执行顺序开始讲起,
执行顺序从上到下:
FROM
ON
JOIN
WHERE
GROUP BY
HAVING
SELECT
DISTINCT
ORDER BY
所以得出结论,select出来的数据越多,排序越慢。
减少了order by中的排序数据,再去join或者=查询即可加快执行效率。
bitsCN.com
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号