【发布时间】:2016-09-07 03:12:08
【问题描述】:
考虑以下场景:
ParrentLookupTable:
- PK:SomeCode CHAR(10)
- 只有 5 行。
- 不经常更换
我的表:
- 每天添加一百万行。
- 列 SomeCode FK 到 ParrentLookupTable
- 没有基于 SomeCode 进行搜索或排序的查询
这是FK的定义
ALTER TABLE MyTable CONSTRAINT FK_MyTable_ParrentLookupTable_SomeCode FOREIGN KEY(SomeCode)
REFERENCES ParrentLookupTable (SomeCode)
我应该创建索引 IX_MyTable_SomeCode 吗?
在这种写入密集型工作负载场景中,索引会消耗 IO,我不确定它有什么用处?
【问题讨论】:
-
那么你将如何保持完整性?您是否要创建自定义代码代码(如触发器)以保持完整性?或者你会有夜间工作来管理诚信?
-
@KannanKandasamy:抱歉,缺少 FK 定义。我用 FK 定义更新了问题。
-
“MyTable”是否包含很多列?
-
你认为为什么需要在子表上添加索引?
标签: sql-server indexing data-modeling