MyISAM 讀寫速度快,不支持事物到處理MyISAM存儲引擎是MySQL數據一塊系統以前。5.5版本以前默認的存儲引擎mysql
1)不支持事物 2)表級鎖定形式,數據在更新時鎖定整個表。 3)數據庫讀寫過程當中相互阻塞。 4)能夠經過key_buffer_size來設置緩存索引 5)數據單獨寫入或讀取 速度快佔用資源少。 6)不支持外鍵約束,只支持全文索引。
2) InnoDB存儲引擎(mysql5.5及之後版本默認存儲引擎):sql
1)支持事務,支持四個事務隔離級別。 2)行級鎖定,可是全表掃描仍然會是表級鎖定。 3)讀寫阻塞與事務隔離級別相關。 4)具備很是高效的緩存特性,能緩存索引,也能緩存數據。 5)表與主鍵以簇的方式存儲。 6)支持分區、表空間,相似Oracle數據庫。 7)支持外鍵約束。 8)適合對硬件資源要求比較高的場合。
由於MyISAM相對簡單因此在效率上要優於InnoDB.若是系統讀多,寫少。對原子性要求低。那麼MyISAM最好的選擇。且MyISAM恢復速度快。可直接用備份覆蓋恢復。 若是系統讀少,寫多的時候,尤爲是併發寫入高的時候。InnoDB就是首選了。 兩種類型都有本身優缺點,選擇那個徹底要看本身的實際類弄。
關於批量操做 支持MySQL5.5版本操做數據庫
mysqladmin -u root password abc123 //mysql 5.5 設置root密碼 mysql -u root -p //輸入密碼進入mysql use school; //進入school庫 create table bank; //建立bank表 create table banks; //建立banks表 yum install perl-DBI -y //安裝perl-DBI包 yum install perl-DBD-MySQL -y //安裝perl-DBD-MySQL包 mysql_convert_table_format --host=localhost --user=root --password=abc123 --socket=/tmp/mysql.sock --engine=MyISAM school bank banks // 用mysql_convert_table_format命令,指定mysql服務器,指定用戶,輸入密碼,指定socket文件,指定存儲引擎,後面跟數據庫名,須要修改存儲引擎的數據表名