王锐
发布于 2024-06-13 / 49 阅读
0
0

MYSQL

基础

这是一篇介绍mysql数据库基础的文章,包括基础及常见面试题。

order by关键字应用

面试官:order by 是怎样排序的?怎么优化?

问:假如有以下查询语句,如何对order by进行优化?

select user_code, order_num where city=‘广州’ order by order_num limit 1000

  • 将city添加为索引字段

  • 1)进行全字段排序,缓存不够时,会用到临时内存;

  • 2)设置进行rowid排序 ,可以避免用到临时内存,但需要回表查询;

  • 3)将需要排序的索引构建组合索引,此时天然有序;

order by相关问题

  1. 查询语句有in多个属性时,SQL是否有排序过程?--- in单个时不需要,in多个时需要

  2. 分页limit过大,导致大量排序,怎么办?1)优化分页数量 2)优化大偏移量性能,可以记录上一页id,然后where id > 上一页id并使用限定词limit 10;

  3. 索引存储和order by 不一致,如何优化?

  4. 没有where字段,order by字段需要加索引吗?

常见问题

问:mysql中使用!=还能走索引吗?

  • mysql优化器会判断是否走索引

问:前缀索引经典题,身份证


评论