mysql - 如果经常使用它们,我应该将宽 mysql 表上的列移到左侧吗?

标签 mysql

我有一个约 35 列宽的 mysql 用户表,我注意到我最常查询的内容,图片 url、用户名、在线状态位于表的最右侧。将最常用的项目放在表格的最开头会不会有更好的性能?

最佳答案

列位置对任何 MySQL 存储引擎的性能都没有影响。当您从一行中读取任何列时,您已经招致了最昂贵的部分,即从磁盘上的数据文件中查找和读取该行的 I/O。

如果要提高常用列的性能,请使用索引。还可以了解 covering indexes它允许查询从索引中读取列的值,而不必从表存储中读取行的其余部分。但这也与列的顺序位置无关。

关于列和性能的另一个提示:如果您的查询只需要列的一个子集,请不要使用 SELECT *。通过网络将所有列传输到您的应用程序确实会产生成本,如果您不需要所有列,请不要获取它们。

关于mysql - 如果经常使用它们,我应该将宽 mysql 表上的列移到左侧吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1316159/

相关文章:

php - Mysql 查询在单个查询中获取父级详细信息

mysql - 通过sqoop将hive hadoop中的数据存入mysql?

java - JPQL : result if Map<> contains specific or doesn't contain at all

mysql - 查找数据库更新的来源

mysql - 无法在 ubuntu 11 上安装 mysql

mysql - 在 Select Mysql 中 react 日期

mysql - 计算一个表中的 ID,乘以另一表中的值

php - 一个表格,一个按钮,一个mysql行

mysql - 选择数据 MYSQL

mysql - 计算每一行相关性的最快方法?