SQL优化(面试题)

为什么要优化SQL
我们开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进行专门的优化,而随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此时对SQL的优化就很有必要。

SQL优化:
1.在表中建立索引,优先考虑where、group by使用到的字段
2.尽量避免使用select *,返回无用的字段会降低查询效率

text
1 2
SELECT * FROM t 

3.尽量避免使用in 和not in,会导致数据库引擎放弃索引进行全表扫描(连续值用between代替 子查询用exists代替)

text
1 2
SELECT * FROM user WHERE id IN (3,4)
SELECT * FROM user1 WHERE username IN 

原文地址:https://blog.csdn.net/weixin_45735355/article/details/118786581?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168474995516800188548878%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168474995516800188548878&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-21-118786581-null-null.142^v87^control_2,239^v2^insert_chatgpt&utm_term=java%E4%BC%98%E5%8C%96