MySQL 查询语句有什么简单的优化技巧

2019-05-28 10:18:53 +08:00
 cwjokaka

如题,举几个栗子最好

2890 次点击
所在节点    程序员
14 条回复
jorneyr
2019-05-28 10:23:20 +08:00
使用索引
cwjokaka
2019-05-28 10:35:09 +08:00
最好是在工作中实践过的
kamal
2019-05-28 10:36:22 +08:00
空手套论文?
leapV3
2019-05-28 10:38:08 +08:00
索引
cwjokaka
2019-05-28 10:39:33 +08:00
@kamal 经验讨论而已
ctrlaltdeletel
2019-05-28 10:59:31 +08:00
自己常用的比较简单的

- 对于某些特定查询,可以尝试使用覆盖索引做优化,避免回表
- 注意联合索引的顺序。对于某些时间范围查询(例如查询当前时刻促销活动有哪些),注意判断情况,有时索引加在`结束时间`上会好很多
- order by 使用索引
sammeishi
2019-05-28 11:48:29 +08:00
交给 DBA 去写。。。
sudoz
2019-05-28 12:13:58 +08:00
善用 explain
chen2019
2019-05-28 12:24:58 +08:00
初级的话。会加索引就行
janus77
2019-05-28 13:26:36 +08:00
面试题背一背,那里面全都是
lihongjie0209
2019-05-28 14:19:37 +08:00
只写简单查询你就不会需要 sql 优化

所有的事情都在代码中完成
cwjokaka
2019-05-28 14:25:41 +08:00
@lihongjie0209 简单的查询也需要考虑索引利用的问题。如果所有的事情都在代码中完成,可能要考虑的是数据库连接次数。个人想法
CoderSun
2019-05-28 14:37:37 +08:00
主要是查询优化,所以索引的合理设置是很必要的。设置索引要注意:1,过犹不及,最好只设置主键和频繁作为查询条件的字段; 2.不要在查询语句里做运算 比如 where id+100>2500,这样会扫描全表; 3.考虑适当的使用子查询,子查询只查索引,返回结果作为条件再查复杂列,目的都是为了避免全表扫描。
cwjokaka
2019-05-28 18:17:21 +08:00
下班顶一顶~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/568270

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX