最佳读写的 DB2 复合索引顺序
DB2 composite index order for optimal read and write
我在DB2数据库中有一个table,目前有2000万行,增长率为2million/quarter。这个table用于频繁插入和select (每分钟约 2000 次搜索和 600 次插入)但根本没有更新。搜索查询有 4 列 FY、Q、C1、C2 作为 where 子句中的参数
FY= 财政年度(例如 201415、201213、.....)
Q=季度(Q1、Q2、Q3、Q4)
C1= 某列具有 150 万个唯一的 char(10) 值
C2= 某列具有 4 个唯一的 char(3) 值
为了更快地插入和 select,上述列的最佳复合索引顺序是什么? (考虑索引页面缓存和索引树扫描时间)。
大多数搜索和插入仅针对特定的 FY 和 Q(即当前财政年度和季度)在该季度内发生。
此外,table 分区和索引分区是否有助于此用例?如果需要任何澄清,请发表评论。
在这种情况下,这并不是一个真正可以回答的问题,因为如果没有您的工作量的完整细节,答案将永远是这取决于。所有解决方案都需要权衡取舍,问题在于找到您的用户可以接受的内容。
选择合适的索引设计意味着了解 所有 命中此 table 的查询,每个查询的频率 运行,以及哪些查询必须有更快的响应时间。
我在DB2数据库中有一个table,目前有2000万行,增长率为2million/quarter。这个table用于频繁插入和select (每分钟约 2000 次搜索和 600 次插入)但根本没有更新。搜索查询有 4 列 FY、Q、C1、C2 作为 where 子句中的参数
FY= 财政年度(例如 201415、201213、.....)
Q=季度(Q1、Q2、Q3、Q4)
C1= 某列具有 150 万个唯一的 char(10) 值
C2= 某列具有 4 个唯一的 char(3) 值
为了更快地插入和 select,上述列的最佳复合索引顺序是什么? (考虑索引页面缓存和索引树扫描时间)。 大多数搜索和插入仅针对特定的 FY 和 Q(即当前财政年度和季度)在该季度内发生。
此外,table 分区和索引分区是否有助于此用例?如果需要任何澄清,请发表评论。
在这种情况下,这并不是一个真正可以回答的问题,因为如果没有您的工作量的完整细节,答案将永远是这取决于。所有解决方案都需要权衡取舍,问题在于找到您的用户可以接受的内容。
选择合适的索引设计意味着了解 所有 命中此 table 的查询,每个查询的频率 运行,以及哪些查询必须有更快的响应时间。