有关sql优化
2016-05-27 16:29
513 查看
放栗子。
首先我是查询省市区的,省市区都在一张表中,先查看原来运行比较慢的sql。
SELECT CAST(GROUP_CONCAT(`name`)AS CHAR) FROM(
SELECT `name` FROM sys_area WHERE INSTR(CONCAT(',', (SELECT parent_ids FROM sys_area WHERE id=areaId), ','), CONCAT(',', id, ',')) AND id !=1
UNION ALL
SELECT `name` FROM sys_area WHERE id=areaId) a
优化过之后的SQL
SELECT CONCAT(c.name,',',b.name,',',a.`name`) FROM sys_area a,sys_area b,sys_area c WHERE a.id = areaId AND a.`parent_id`=b.`id` AND b.`parent_id`=c.`id`
首先我是查询省市区的,省市区都在一张表中,先查看原来运行比较慢的sql。
SELECT CAST(GROUP_CONCAT(`name`)AS CHAR) FROM(
SELECT `name` FROM sys_area WHERE INSTR(CONCAT(',', (SELECT parent_ids FROM sys_area WHERE id=areaId), ','), CONCAT(',', id, ',')) AND id !=1
UNION ALL
SELECT `name` FROM sys_area WHERE id=areaId) a
优化过之后的SQL
SELECT CONCAT(c.name,',',b.name,',',a.`name`) FROM sys_area a,sys_area b,sys_area c WHERE a.id = areaId AND a.`parent_id`=b.`id` AND b.`parent_id`=c.`id`
相关文章推荐
- SQLServer 优化SQL语句 in 和not in的替代方案
- mysql数据库sql优化原则(经验总结)
- 如何利用oracle第三方工具做数据库的性能优化
- 总结SQL执行进展优化方法
- 优化 SQL SELECT 语句性能的 6 个简单技巧
- 有意思的 SQL语句优化经历
- sql优化,数据缓存和页面静态化
- MySQL中优化常用的查询sql语
- SQL优化原则
- SQL语句及数据库优化
- 简单说下SQL优化
- MySql 里的IFNULL、NULLIF和ISNULL用法
- oracle sql性能优化
- 简化ABAP SQL语句
- mysql优化篇(一)
- SQL优化
- 数据库优化
- 数据库SQL优化大总结之 百万级数据库优化方案
- update的优化
- oracle走错索引不出结果