myisam和innodb的區別

2021-09-12 13:33:50 字數 507 閱讀 9335

1,myisam不支援事務,行級鎖定和外來鍵

2,innodb不支援全文索引,而myisam支援。全文索引是指對char、varchar和text中的每個詞(停用詞除外)建立倒排序索引.

3,myisam支援gis資料,innodb不支援。即myisam支援以下空間資料物件:point,line,polygon,su***ce等。

4,沒有where的count(*)使用myisam要比innodb快得多。因為myisam內建了乙個計數器,count(*)時它直接從計數器中讀,而innodb必須掃瞄全表。所以在innodb上執行count(*)時一般要伴隨where,且where中要包含主鍵以外的索引列。為什麼這裡特別強調「主鍵以外」?因為innodb中primary index是和raw data存放在一起的,而secondary index則是單獨存放,然後有個指標指向primary key。所以只是count(*)的話使用secondary index掃瞄更快,而primary key則主要在掃瞄索引同時要返回raw data時的作用較大。

MySQL中MyISAM與InnoDB區別

mysql中myisam與innodb區別 myisam innodb 事物處理 不支援支援 外來鍵不支援 支援行鎖 不支援支援 全文索引 支援不支援 表的具體行數 儲存表的具體行數 掃瞄表來計算行數 delete表時 先drop表,然後重建表 一行一行的刪除 索引和資料 分開的,並且索引是有壓縮的...

MySQL中MyISAM與InnoDB區別及選擇

innodb 支援事務處理等 不加鎖讀取 支援外來鍵 支援行鎖 不支援fulltext型別的索引 不儲存表的具體行數,掃瞄表來計算有多少行 delete 表時,是一行一行的刪除 innodb 把資料和索引存放在表空間裡面 跨平台可直接拷貝使用 innodb中必須包含auto increment型別欄...

MySQL中MyISAM與InnoDB區別及選擇

支援事務處理等 不加鎖讀取 支援外來鍵 支援行鎖 不支援fulltext型別的索引 不儲存表的具體行數,掃瞄表來計算有多少行 delete 表時,是一行一行的刪除 innodb 把資料和索引存放在表空間裡面 跨平台可直接拷貝使用 innodb中必須包含auto increment型別欄位的索引 很難...