0

我有一个问题,关于每个月对表的索引增益与索引查询增益之间的细线问题。

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

我的具体问题是是否有索引或删除它。我做了一些测量,表 2 上的覆盖索引改进了我的 SELECT 查询和一些相当多的但同样,我必须考虑利弊,但很难做出决定。

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

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

真挚地

梅斯蒂卡

4

1 回答 1

2

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

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

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

然后你将不得不问自己:

我需要哪种查询性能?
如果在没有索引的情况下查询性能足够好,很简单:不要添加索引!

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

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

如果您的系统无论如何都运行良好,请少担心,让它按原样运行。

于 2010-05-15T23:00:04.037 回答