【发布时间】:2010-09-13 11:47:26
【问题描述】:
对不起,
我确实有这个包含 3 列的迷你表,但我将按一列或另一列列出值。
1) 可以让其中两列有索引吗?
2) 我们应该每个表只有一个索引吗?
3) 在极限情况下,例如,如果我们有一个包含 100 列的表,其中有 50 个带有索引,这样可以吗?
谢谢, 内存
【问题讨论】:
对不起,
我确实有这个包含 3 列的迷你表,但我将按一列或另一列列出值。
1) 可以让其中两列有索引吗?
2) 我们应该每个表只有一个索引吗?
3) 在极限情况下,例如,如果我们有一个包含 100 列的表,其中有 50 个带有索引,这样可以吗?
谢谢, 内存
【问题讨论】:
可以有很多索引,甚至一张表上有多个索引,只要你在使用它们。
对您的查询运行 EXPLAIN 并检查正在使用哪些索引。如果有没有被任何查询使用的索引,那么它们不会给您带来任何好处,只会减慢对表的修改速度。应该删除这些未使用的索引。
如果您还没有这样做,您可能还想考虑多列索引。
【讨论】:
为了快速回答您的问题,我认为:
您的索引创建应该由您的查询驱动。查看您将在系统上进行哪些查询并相应地创建索引。
【讨论】:
每个表有多个索引没有问题,不,每个表一个索引并不是真正的准则。
索引过多是低效的,因为
编辑:按照 Pablo 和 Mark 的说法,您需要了解如何您的数据被访问,以便您构建有效的索引。然后,您可以优化和减少索引。
【讨论】: