MySQL通过子查询提升超多页面场景效率(第四点重点)
发布时间
阅读量:
阅读量
是否可以采用「覆盖索引」以缩短「查询过程所需的时间」?即当我们执行「select」操作时应当明确指定对应列名而非选择星号通配。
决定是否建立「联合索引」?如果是的话,请优先将具有最高区分度的项目放置于左侧位置,并且需要遵循「最左匹配原则」。
3.对索引进行函数操作或者表达式计算会导致索引失效
第4点通过子查询来优化超级多分页的情况。例如,在MySQL中使用LIMIT offset, n$会获取`offset + n条记录并返回前n条记录;而采用子查询的方式则是先查找n条记录的ID列表...再通过这些ID获取对应的详细数据...$从而提高查询效率
- 使用EXPLAIN命令获取SQL执行计划信息,并以确定自编写的SQL是否采用了索引策略。通过SHOW PROFILE指令分析SQL对系统资源的影响程度(值得注意的是,在实际应用中这一指令通常较少被使用)。
启动一个数据库事务之后,在其内部尽可能多地执行数据库操作,并有意地降低锁的持有时长。(例如,在一个事务内部需要进行插入和修改操作时,则建议优先执行插入操作后再进行修改。因为执行更新操作时会添加行锁。如果先进行更新操作的话,则可能导致多个并发事务等待行锁被释放)
第四点的扩展:通过子查询来提升超多分页场景的效果。例如,在MySQL中使用limit和offset时会获取offset+n条记录,并返回n条结果;而采
全部评论 (0)
还没有任何评论哟~
