mysql - MySQL 中多列索引中的列顺序

标签 mysql optimization indexing

我试图了解在定义多列索引时什么更好:

  • 将最具选择性的列放在第一位(更高的基数,为了速度?);或
  • 将选择性较低的列放在第一位(基数较低,用于索引压缩?)

或者这取决于我是针对速度还是空间进行优化?

最佳答案

列的顺序应该与后面查询列的顺序相匹配,否则 MySQL 不会使用它们。 这是你真正应该思考的问题。

阅读更多 here .

更新:

关于基数的问题可以阅读 this . 这与您的问题相似吗?它会回答吗?

关于mysql - MySQL 中多列索引中的列顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777322/

相关文章:

mysql - 只有在mysql中不存在该过程时才创建存储过程

java - 解密使用 Java AESBouncyCaSTLe 创建的 MySQL 字段

c++ - gcc 会根据条件优化我的循环吗?

algorithm - 图搜索算法与图优化

arrays - slice 可以引用不同索引范围中的差异数组/slice ,还是有方便的解决方法?

python - Numpy python 中的数组索引

php - Android 中使用 PHP 的未定义偏移量 1

php - 查找两个数据表和日期表连接的空字段

sql - 关于 Oracle Explain Plan 成本的问题

mysql - MySQL 中按 DESC、BETWEEN 和几个可能的查询字段集排序的索引