每个数据库表有多少索引?

时间:2010-05-17 00:17:47

标签: mysql database database-design

MySQL中一个表首选多少个索引?

我有一个company表,我主要搜索IDstatecategory

2 个答案:

答案 0 :(得分:7)

这个问题没有一个单一的答案:创建尽可能多的索引来使你的查询足够快,而不是更多。

在决定索引内容时,你必须权衡各种各样的事情:

  • 您拥有的索引越多,插入和更新就越慢(因为它们需要更新所有索引)
  • 如果数据库必须执行表扫描,则对没有适当索引的表的查询可能非常慢
  • 某些列不需要索引(例如,“性别”列中唯一可能的值为“M”或“F”)

对于您的特定场景,它似乎是三个索引,一个在ID上(如果这是主键,那么它已经有一个隐式索引),一个在状态,一个在类别上,就足够了。

答案 1 :(得分:0)

没有“首选”索引数,这一切都取决于您的查询。在您的示例中,您将需要不超过3个索引,一个用于ID,一个用于州,一个用于类别。