2013-04-10 40 views
2

當我比較我們的MS Azure DB中的索引大小時,有些奇怪。爲什麼Azure SQL聚集索引非常大?

我有兩個不同的數據庫表(比方說tableA和tableB)。在單個BIGINT列中都有主集羣索引。

tableA有大約35萬條記錄,tableB有38萬條記錄。

但tableA上的索引大小爲1100兆字節,tableB上的索引大約爲100兆字節。

有人可以解釋爲什麼會發生這種情況嗎?問題在哪裏?

PS:用腳本發表在這裏測量的指標尺寸:http://blogs.msdn.com/b/sqlazure/archive/2010/08/19/10051969.aspx

+1

你檢查了索引是如何分散的? – JuneT 2013-04-10 10:44:02

+4

聚集索引**是數據** - 聚簇索引**的葉級別頁面是數據頁面** - 整個數據! – 2013-04-10 11:09:47

+0

好的。我會改變它:你有沒有檢查過你的數據是如何分散的?因爲如果葉片包含數據,碎片仍然可以將其吹掉。 – JuneT 2013-04-10 13:13:02

回答

1

聚集索引的大小顯示錶的實際大小。這就是爲什麼在博客中,查詢是條件:

WHERE type_desc = 'NONCLUSTERED'