我有一个大约35列宽的mysql用户表,我注意到我查询最多的东西,如picture_url,用户名,onlinestatus位于表的最右侧.将最常用的项目放在表格的开头会更好吗?
最佳答案
列的位置对任何MySQL存储引擎的性能都没有任何影响.当您从一行中读取任何列时,您已经承担了最昂贵的部分,即从磁盘上的数据文件中查找和读取该行的I / O.
如果要提高常用列的性能,请使用索引.还可以了解covering indexes,它允许查询从索引中读取列的值,而不必从表存储中也读取行的其余部分.但这也与列的顺序位置无关.
关于列和性能的另一个提示:如果查询仅需要列的子集,则不要使用SELECT *.通过网络将所有列传输到您的应用程序确实需要一定的成本,并且如果不需要所有列,则不要获取它们.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。