ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL 优化

2022-06-12 11:02:47  阅读:152  来源: 互联网

标签:CODE NAME ITEM SECOND SQL FIRST 优化 CATE


 

1、从代码逻辑上优化,规避复杂SQL

 举例:计算比例C=A/B,将B的值,通过异步任务计算B的值,存入数据库,在实际查询中直接取值,避免关联查询造成SQL性能问题。

 

2、根据不同业务需求,使用不同数据库,使用ClickHouse替代MySQL

SELECT ITEM_FIRST_CATE_CODE,
        ITEM_FIRST_CATE_NAME itemFirstCateName,
        ITEM_SECOND_CATE_CODE,
        ITEM_SECOND_CATE_NAME itemSecondCateName,
        ITEM_THIRD_CATE_CODE,
        ITEM_THIRD_CATE_NAME itemThirdCateName,
        COUNT(1) skuNumber,
        SUM(WMS_STOCK_QTY) itemNumber
        FROM MOVE_PROGRAM_SKU_DETAIL
        WHERE main_id= 649 
        GROUP BY ITEM_FIRST_CATE_CODE,
        ITEM_SECOND_CATE_CODE,
        ITEM_THIRD_CATE_CODE
        ORDER BY ITEM_FIRST_CATE_NAME,
        ITEM_SECOND_CATE_NAME,
        skuNumber DESC,
        itemNumber DESC

举例:MySQL数据库,数据量几千万,查询以上SQL,查询失败,后来将数据存入ClickHouse,几秒钟就可以查询出结果

 

3、添加索引

 

4、避免索引失效

a、遵守最左前缀原则

a-1、不使用like '%a'

a-2、在联合索引(a,b,c)中,不使用b=XX and c=XX

 

5、select 语句

a、SELECT语句指明字段名称

 

 

6、where 语句

a、避免where 语句中对字段进行表达式操作

b、应尽量避免在where语句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描

 

参考文档:

1)sql优化的N种方法_持续更新

https://blog.csdn.net/wang5701071/article/details/108797859

标签:CODE,NAME,ITEM,SECOND,SQL,FIRST,优化,CATE
来源: https://www.cnblogs.com/wllzbky/p/16367571.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有