• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cwjokaka
V2EX  ›  程序员

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

  •  2
     
  •   cwjokaka ·
    cwjokaka · May 28, 2019 · 3925 views
    This topic created in 2716 days ago, the information mentioned may be changed or developed.

    如题,举几个栗子最好

    14 replies  •  2019-05-28 18:17:21 +08:00
    jorneyr
    jorneyr
    May 28, 2019
    1
    使用索引
    cwjokaka
    cwjokaka
    OP
    May 28, 2019
    2
    最好是在工作中实践过的
    kamal
    kamal
    May 28, 2019
    3
    空手套论文?
    leapV3
    leapV3
    May 28, 2019
    4
    索引
    cwjokaka
    cwjokaka
    OP
    May 28, 2019
    5
    @kamal 经验讨论而已
    cadl
    cadl
    May 28, 2019❤️2
    6
    自己常用的比较简单的

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

    所有的事情都在代码中完成
    cwjokaka
    cwjokaka
    OP
    May 28, 2019
    12
    @lihongjie0209 简单的查询也需要考虑索引利用的问题。如果所有的事情都在代码中完成,可能要考虑的是数据库连接次数。个人想法
    CoderSun
    CoderSun
    May 28, 2019
    13
    主要是查询优化,所以索引的合理设置是很必要的。设置索引要注意:1,过犹不及,最好只设置主键和频繁作为查询条件的字段; 2.不要在查询语句里做运算 比如 where id+100>2500,这样会扫描全表; 3.考虑适当的使用子查询,子查询只查索引,返回结果作为条件再查复杂列,目的都是为了避免全表扫描。
    cwjokaka
    cwjokaka
    OP
    May 28, 2019
    14
    下班顶一顶~~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5305 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 102ms · UTC 03:39 · PVG 11:39 · LAX 19:39 · JFK 22:39
    ♥ Do have faith in what you're doing.