2012-07-12 49 views
0

是否有任何技術可用於模擬Sybase 12.5中的表上的多個聚集索引?謝謝什麼技術可以用來模擬表上的多個聚集索引?

+0

您對模擬它們有什麼期望? '創建聚集索引'有什麼問題? – 2012-07-12 08:48:21

+4

這是不可能的。聚簇索引是磁盤上數據的實際順序。數據不能以兩種不同的順序存放在磁盤上,所以你不可能擁有多個聚簇索引。 – MatBailie 2012-07-12 08:50:14

回答

0

我不認爲,你可以模擬多個聚集索引。因爲當您在表上創建一個聚簇索引時,將根據聚簇索引列中的數據重新排列數據。在邏輯上,您不能按照另一列在另一個表中按其他順序排列數據。你所能做的就是爲其他列創建非聚簇索引

你可以做的其他事情是組合兩個或多個列並創建聚簇索引。

0

我能想到的唯一近似值就是創建包含所有列的非聚集索引。這樣,非聚集索引將包含所有的數據。

但是,要實現這一點,整個表必須適合施加在非聚集索引上的任何約束。 (例如,對於SQL Server,對某些列數據類型有限制,並且整個大小以字節爲單位 - 可能類似的限制適用於任何產品)。

0

最好的辦法是根據需要創建任意數量的表,然後在這些表上嘗試不同的聚簇索引,這些索引可以模擬。然後,如果您的主要動機是檢查哪個列可以創建更好的聚集索引,那麼可以針對這些表運行查詢以檢查哪個表現更好。但是我建議你應該運行完整的工作量或所有你將在這個表上執行的查詢,以便你能更好地瞭解哪些組合最適合你。

相關問題