【问题标题】:Downside of multiple indices on delayed inserts? - MySQL延迟插入多个索引的缺点? - MySQL
【发布时间】:2012-07-27 23:52:03
【问题描述】:

我知道索引的缺点是每次写入表时都必须更新它们 - 即影响加载时间。但是,对于我的一张表,我经常SELECTWHERE 子句中使用 3 个不同的列。所以我心想,我真的要在表中添加 3 个索引吗?和以前一样的缺点是每次写入时都会更新每个索引。但是,该表仅使用INSERT DELAYED 写入。这是否意味着没有缺点,我应该使用 3 个指数?

【问题讨论】:

    标签: mysql optimization insert indexing delay


    【解决方案1】:

    实际上,您可能想要一个包含所有 3 列的索引。 MySQL 在查询中每个表只能使用一个索引。
    拥有索引会带来性能下降,但比没有索引带来的不利影响要小得多。

    【讨论】:

    • 如果我为 3 列添加索引,但查询在 WHERE 子句中仅使用其中 2 列,它是否仍然使用索引?列在索引中的放置顺序是否重要?
    • 仅当它们是索引中的前 2 列时。是的,顺序很重要,如果您想在给定索引中使用第 x 列,您还必须使用 x (1,2,3....x) 之前的所有列。您可以创建多个索引来涵盖所有案例。
    猜你喜欢
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多