所有InnoDB表都必須包含主鍵,如果創建表時,沒有顯示指定主鍵,那么InnoDB存儲引擎會自動創建一個長度為6個字節的long類型隱藏字段作為主鍵。
考慮到聚簇索引的特點和對查詢的優化效果,所有的InnoDB表都因該顯示的指定主鍵。
InnoDB存儲表和索引有兩種方式:
1.使用共享表空間存儲 2. 使用多表空間存儲 隨着數據的增長,為方便維護建議使用多表空間存儲,老版本中需要設置參數set global innodb_file_per_table=1;
2.多表空間的數據文件大小沒有限制,既不需要設置初始大小,也不需要設置文件的最大限制、擴展大小等參數。
3.備份和恢復 ALTER table tb1_name DISCARD TABLESPACE ; ALTER TABLE tb1_name IMPORT TABLESPACE
注意:即便是在多表空間的存儲方式下,共享表空間仍然是必須的,InnoDB把內部數據詞典和在線重做日志放在這個文件中。