我有一个交易表:
|rowID|value1|value2|...|
|11111|12 |34 |...|
|11112|23 |123 |...|
|11113|99 |53 |...|
...
RowID
是身份,增量为1.索引也没问题。插入了大量新值,发生了更新,有时可能会删除某些行。
但现在我有了第二张桌子:
|rowID|flag1|flag2|...|
|11113|0 |1 |...|
|11111|1 |1 |...|
|11112|0 |1 |...|
...
这是一个用户操作,它将事务表中的行插入到第二个表中。 RowID
对应于交易表中的RowID
。
第二个表的插入不按RowID
排序。可以提前插入较高的RowID
,而不是较低的RowID
。
这种表的最佳索引策略是什么?
RowID
定义为主键是明智的,从而产生聚簇索引吗?我认为,这并不理想,因为RowID
没有排序。我想知道这样的表(第二张表)是否有一般性建议?
答案 0 :(得分:0)
表格不是有序数据集。在定义PK /索引时,第二个表上的事件RowID
不是无关紧要的。
您应RowID
PK
Table2
创建索引的那一刻,还会创建B-TREE
并将数据存储在那里以便最快地访问。