【问题标题】:A question about indexes regarding to the gain of inserts & updates in database关于数据库中插入和更新增益的索引问题
【发布时间】:2010-05-15 22:24:53
【问题描述】:

我有一个问题,关于每个月都在稳步增长的表的索引增益与使用索引的查询增益之间的界限。

情况是,我有两个表,Table1Table2。每个表每个月都会缓慢但有规律地增长(Table1 大约有 100 行新行,Table2 有几行)。

我的具体问题是是否有索引或删除它。我进行了一些测量,发现 Table2 上的覆盖索引改进了我的 SELECT 查询和一些相当大的改进,但我不得不再次考虑利弊,但很难做出决定。

对于 Table1,可能不需要索引,因为那里的 SELECT 查询并不常见。

对于什么是好的解决方案,我将不胜感激任何建议、提示或只是好的建议。 顺便说一句,我使用 IBM DB2 9.7 版作为我的数据库系统

真诚的

梅斯蒂卡

【问题讨论】:

    标签: db2 indexing covering-index insertion


    【解决方案1】:

    任何额外的索引都会使您的插入速度变慢,查询速度变快。

    要做出明智的决定,您必须准确衡量多少,以及您希望看到的数据量。如果您有多个客户端同时访问数据库,则编写一个模拟最大负载的小型多线程应用程序可能是有意义的,包括插入和查询。

    您的结果将取决于数据的性质和您正在运行的硬件。如果您想知道您的用例的最佳答案,则无法使用您的数据和硬件准确地测试自己。

    那你得问问自己:

    我需要哪种查询性能?
    如果无论如何没有索引查询性能足够好,很简单:不要添加索引!

    我需要哪种插入性能?
    是否可以通过附加索引降至所需限制以下?如果没有,很简单:添加索引!

    如果您发现查询性能绝对需要索引,并且无法通过索引获得所需的插入性能,您可能需要购买更好的硬件。固态磁盘可以为数据库服务器创造奇迹,而且价格越来越便宜。

    如果您的系统对每个人来说都运行良好,不用担心,让它按原样运行。

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 1970-01-01
      • 2011-09-26
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多