mysql中sql语句中的排序语句是不是也要用索引?

mysql中sql语句中的排序语句是不是也要用索引?,第1张

索引的使用,不是越多越好,个人认为如果表不大的话,完全可以不加索引,如果表确实够大查询速度慢的话,在一个主要的查询字段添加索引就可以,比如说自己生成一个201003020930222这样的一个时间字段,你在每次查询的时候,让这个字段索引做必须的查询条件就可以,order by不需要添加索引了。

分组字段:查询的时候grouo by后面的字段就是分组字段

排序字段:查询的时候order by后面的字段就是分组字段

两个表的连接字段也就是外键,当每个表的数据都很多时,查询时连接起来的表就很大,这个时候为这个外键增加一个索引能大大缩短查询时间

同理前两种情况也是为了在大表查询的时候缩短时间

ps:为什么增加索引能减少查询时间呢?因为没有索引的话查询的时候只能一行数据一行数据的遍历,而有了索引就相当于为数据集建立了一个B+树或者B-树(一种数据结构),能大大减少查询中遍历数据集时的循环次数。B+和B-树过于复杂,不在祥述,可以自行百度。总之,索引简而言之就是以存储空间换时间。当数据太多,能够显著的减少查询的时间,这个时候耗费一点空间建立索引还是很值得的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11849188.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存