如果我使用ADO.Net針對使用具有單獨的連接兩個不同的過程相同的表同時bulkinserts各自具有與隔離級別「READCOMMITTED」事務對具有表:同時使用ADO.Net和SQL Server的bulkinserts,選擇哪些索引?
- RowId的:BIGINT身份
- FooId:唯一標識符PK非羣集
(在bulkinsert之前代碼分配的前期)至於同時插入,這將是更好的:
- 一)穿上了RowId的一個PK具有聚簇索引和唯一鍵contraint指數,上FooId
- b)非聚集把一個唯一的密鑰contraint索引,非聚集在RowId的
任何其他提示嗎?
正如Kimberly Tripp在她的博客文章[The Clustered Index Debate Continues ...](http://sqlskills.com/BLOGS/KIMBERLY/post/The-Clustered-Index-Debate-Continues.aspx)中解釋的,具有*好*聚集索引(類似於'BIGINT IDENTITY')的列對於批量插入實際上**有益**。插入一個精心設計的表格中,選擇好的聚集索引比插入到一個堆(沒有聚集索引的表)中要快得多** - 所以我會說,去選項(a)。不知道你是否需要一個NC'Foo' - 爲了什麼? –
Foo是一個「商業密鑰」,用於查詢和連接,但不能聚集。 – Daniel