mysql四種索引類型 主鍵與聚簇索引有什么聯(lián)系?
主鍵與聚簇索引有什么聯(lián)系?如果您使用的數(shù)據(jù)庫是mysql,則聚集索引是主鍵,不允許將非主鍵列設(shè)置為聚集索引。即使您不手動設(shè)置主鍵,MySQL也會自動創(chuàng)建一個隱藏列作為主鍵。如果使用SQL server
主鍵與聚簇索引有什么聯(lián)系?
如果您使用的數(shù)據(jù)庫是mysql,則聚集索引是主鍵,不允許將非主鍵列設(shè)置為聚集索引。即使您不手動設(shè)置主鍵,MySQL也會自動創(chuàng)建一個隱藏列作為主鍵。如果使用SQL server,則默認主鍵是聚集索引,因為一個表只能允許一個聚集索引,因此直接指定其他列作為聚集索引是不行的。此時,如果需要使用其他列作為聚類索引,則需要先刪除主鍵約束,然后將其他列設(shè)置為聚類索引,最后恢復(fù)主鍵約束。
為什么數(shù)據(jù)庫中用主鍵搜索比用其他屬性快?
準確地說,使用“聚集索引”(或英語中的“聚集索引”)應(yīng)該比使用一般索引更有效。然而,數(shù)據(jù)表的一般主鍵默認為聚集索引,因此在大多數(shù)情況下都存在模糊性。對該索引效率的一般評價是,該索引的條目可以直接進入數(shù)據(jù)存儲頁,而其他索引可能需要逐步定位多級鏈表才能找到最終的數(shù)據(jù)存儲頁;另一個表只能有一個聚集索引,因為索引項的順序與實際數(shù)據(jù)的順序完全相同,而且之后數(shù)據(jù)會登陸磁盤,所以只有一個順序,很容易理解。