長期與SQLServer一起工作之後,我習慣認爲與堆表相比,聚簇表(聚簇索引表)通常是更好的選擇。現在我也在和Oracle合作,我不明白爲什麼他們的表默認是堆。根據我的經驗,我可以說有很多情況下表應該是堆(再次,我主要處理SQLServer)。物聯網與Oracle中的堆表
Oracle是否有充分的理由爲「強制」(通過強迫我的意思是CREATE TABLE
不指定organization index
產生相反堆到默認創建聚集表的SQLServer)用戶使用堆表?
[更新]
澄清有關SQLServer的 - 我可能會濫用 「默認」 用於描述SQL Server的行爲;我知道,如果在CREATE TABLE
中指定主鍵,它會創建一個聚集索引。我的意思是,我不需要指定PK是聚簇的。
[/更新]
此外,還有約集羣表VS在SQLServer的堆許多好文章,我不知道在何種程度上它可以應用到Oracle。
任何信息,非常感謝。
謝謝。
SQL Server不會創建一個聚集索引是默認的表。 的圖表會,除非一個聚集索引在create table語句定義的物理存儲爲堆。 (注意:默認情況下,主鍵將作爲所述表上的集羣索引實現,除非另外明確指定。) –
我不明白它與我在更新章節中所說的內容相矛盾...... CREATE TABLE table1 (id int not null identity(1,1)PRIMARY KEY)''在'id'上創建聚簇索引,除非我指定它是非聚簇的。這不是默認行爲嗎? – a1ex07