如何指定聯合索引主鍵?
首先,主鍵索引其實就是數據本身,它的葉子頁包含主鍵及其對應的所有行數據。
不僅聯合索引,所有非主鍵索引(二級索引)的葉子頁,都會包含主鍵,哪怕你的表沒建主鍵,mysql也會在表上建一個隱式主鍵,你的二級索引同樣會包含它。
當使用二級索引進行查詢時,會先獲得二級索引葉子頁上的數據和對應的主鍵,然后通過主鍵再查找主鍵索引,獲得其它列的數據,也就是說,通過二級索引查找時,會進行兩次索引查找。
所以,選擇主鍵時,盡可能的使用較小的主鍵,過大的主鍵會導致二級索引也都比較大。
如何指定聯合索引主鍵?
首先,主鍵索引其實就是數據本身,它的葉子頁包含主鍵及其對應的所有行數據。
不僅聯合索引,所有非主鍵索引(二級索引)的葉子頁,都會包含主鍵,哪怕你的表沒建主鍵,mysql也會在表上建一個隱式主鍵,你的二級索引同樣會包含它。
當使用二級索引進行查詢時,會先獲得二級索引葉子頁上的數據和對應的主鍵,然后通過主鍵再查找主鍵索引,獲得其它列的數據,也就是說,通過二級索引查找時,會進行兩次索引查找。
所以,選擇主鍵時,盡可能的使用較小的主鍵,過大的主鍵會導致二級索引也都比較大。