2常見的答案是使用show_table_status和INFORMATION_SCHEMA.TABLES如何找出索引的大小在MySQL(包括主鍵)
但現在看來,他們兩人不計主鍵的大小。
我有幾百萬的與主鍵記錄,並沒有其他的索引的表,以及兩者的提到的方法上面顯示Index_length: 0
該表。表格是INNODB。
2常見的答案是使用show_table_status和INFORMATION_SCHEMA.TABLES如何找出索引的大小在MySQL(包括主鍵)
但現在看來,他們兩人不計主鍵的大小。
我有幾百萬的與主鍵記錄,並沒有其他的索引的表,以及兩者的提到的方法上面顯示Index_length: 0
該表。表格是INNODB。
你的主鍵是你的表。在InnoDB中,主鍵包含實際數據,因此如果主鍵包含表中的數據。
想想看一會兒。 InnoDB表聚集索引和二級索引中獲得兩種不同類型的索引。區別在於聚集索引包含數據,而次級索引包含索引列和指向數據的指針。因此,輔助索引不包含數據,而是包含數據在CLUSTERED索引中的位置。
通常主鍵是聚簇索引。將表及其所有值都存儲起來,然後將聚集索引及其所有值存儲起來將會非常低效。這將有效地將表格的大小加倍。
因此,當InnoDB上有主鍵時,表大小就是主鍵的大小。在一些數據庫系統,你可以有一個二級索引作爲主鍵和獨立的指數作爲聚集鍵,但是InnoDB的不允許這樣。
去閱讀以下鏈接瞭解詳情:
http://dev.mysql.com/doc/refman/5.0/en/innodb-table-and-index.html
http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html
在他們解釋一切我已經在上面詳細說這些鏈接。簡單地說,您已經擁有主鍵索引的大小,因爲它是表的大小。
希望有所幫助。
難道你明白我的回答如下?哪一部分不清楚?請告訴我。 – Namphibian