mysql數據庫的優化整理之插入數據優化

插入數據時,影響插入速度的主要是索引,唯一性校驗,一次插入的數據條數等等。

插入數據的優化,不同的存儲引擎優化手段不一樣,在mysql中常用的存儲引擎有,MyISAM 和 InnoDB

· MyISAM是非事物安全類型的,而InnoDB是事物安全型的

· MyISAM鎖的粒度是表級,而InnoDB支持行級鎖定

· MyISAM支持全文類型索引,而InnoDB不支持全文索引

· MyISAM相對簡單,所以效率上要優於InnoDB,小型應用可以考慮使用MyISAM。

· MyISAM表是保存成文件的形式,在跨平臺的數據轉移中使用MyISAM存儲會省去不少麻煩。

· InnoDB表比MyISAM表更安全,可以在保證數據不會丟失的情況下,切換非事務表到事物表(alert table tablename type=innodb)。

如果要執行大量的select可以使用MyISAM,如果大量的insert或update可以使用InnoDB。

MyISAM

禁用索引:ALERT TABLE TABLE_NAME DISABLE KEYS

開啓索引:ALERT TABLE TABLE_NAME ENABLE KEYS

禁用唯一性檢查:SET UNIQUE_CHECKS=0;

開啓文藝性檢查:SET UNIQUE_CHECKS=1;

插入數據時,可以一次插入一條,也可以一次插入多條,插入多條速度更快

使用LOAD DATA INFILE 當需要批量導入數據時,使用LOAD DATA INFILE 語句插入速度快很多。


InnoDB

禁用唯一性檢查    用法和MyISAM一樣

禁用外檢檢查    SET foreign_key_checks=0;

啓動外檢檢查    SET foreign_key_checks=1;

禁止自動提交事務    SET autocommit=0;

開啓自動提交事務    SET autocommit=1;

瞭解更多mysq數據庫優化請參考我的其他文章
















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章