回答

收藏

查询中的列顺序重要吗?

技术问答 技术问答 214 人阅读 | 0 人回复 | 2023-09-14

从MySQL与列在表中的顺序相比,选择列的顺序是否会影响性能(不考虑可能覆盖列的索引)?* c6 f* J' g) W" G
例如,你有一个表,包括uid,name,bday有以下查询。/ c- Y8 k! }6 ~- n0 `1 b% ]: I
SELECT uid,name,bday FROM tableMySQL以下查询是否会以不同的方式看到,导致性能下降?3 U8 f6 ?1 V6 z. j: ?2 g, w* m
SELECT uid,bday,name FROM table               
3 \+ b3 V! m9 b* ~* y    解决方案:                                                               
6 W; o$ t9 d% h' I; g7 `                                                                其实顺序并不重要,可以随意订购。- ]" G( T5 M1 T) z/ s
编辑:我想更多的背景是有帮助的:据我所知,优化任何查询的过程发生在确切确定要提取行数据的哪个子集之前。因此,查询优化器首先将其细分为要查看的表,要执行的联接,要使用的索引,要应用的聚集等,然后检索该数据集。列排序发生在数据提取和结果集的形成之间,因此数据实际上按照数据库的顺序“到达”,然后在返回到您的应用程序时进行重新排序。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则