MySQL索引:1个键名多列或每列1个键名?

时间:2012-02-09 23:51:44

标签: mysql database database-design

我试图通过使用索引来加速我的MySQL表。当我使用PHPmyadmin添加索引时,有2列,keyname和column。我有几个表格列,我想索引。

问题:每列有1个键名和我想要索引的所有列的1个键名有什么区别?我注意到,对所有索引列使用1个键名称效果最好。发生了什么事?

具有多列的键名中的第一列是我的MySQL查询中出现的第一列。我认为这与使用1个关键字多列有关,但我不确定为什么这是必需的?

1 个答案:

答案 0 :(得分:1)

Multi-column indexes(“所有列的1个键名”)与每列的single-column indexes不同。这一切都取决于你的疑问。

如果您经常查询多个列,则需要索引该组合。例如,如果您查询:

SELECT * FROM users WHERE (age > 18 AND name = "Johnnie Walker")

您需要在两列上添加索引:(年龄,名称)