關於二者的對比與總結:
1. count運算上的區別:因為myisam快取有表meta-data(行數等),因此在做count(*)時對於乙個結構很好
的查詢是不需要消耗多少資源的。而對於innodb來說,則沒有這種快取。
2. 是否支援事務和崩潰後的安全恢復:myisam 強調的是效能,每次查詢具有原子性,其執行數度比innodb型別
更快,但是不提供事務支援。但是innodb 提供事務支援事務,外部鍵等高階資料庫功能。 具有事務
(commit)、回滾(rollback)和崩潰修復能力(crash recovery capabilities)的事務安全(transaction-safe (acid
compliant))型表。
3. 是否支援外來鍵:myisam不支援,而innodb支援。
myisam更適合讀密集的表,而innodb更適合寫密集的的表。 在資料庫做主從分離的情況下,經常選擇myisam作
為主庫的儲存引擎。 一般來說,如果需要事務支援,並且有較高的併發讀取頻率(myisam的表鎖的粒度太大,所以
當該表寫併發量較高時,要等待的查詢就會很多了),innodb是不錯的選擇。如果你的資料量很大(myisam支援壓
縮特性可以減少磁碟的空間占用),而且不需要支援事務時,myisam是最好的選擇。
MySql面試題總結
mysql主要考察方向 基本sql的編寫能力 資料庫鎖和索引的原理 事務 1.資料庫的三正規化是什麼?第一正規化 表中的列只能含有原子性 每個屬性不可再分 的值。每一列都是單獨的屬性,不可再分,但是存在資料冗餘大,插入異常,刪除異常,修改異常的問題。冗餘大 對應的屬性都一樣,在表中一直在重複這個屬性...
面試題 五道面試題五
判斷出棧順序的正確性 假設每個相同元素只出現一次 include include include include using namespace std class istruesack istruesack if str2 null public bool istrue const char pu...
大資料面試題 (五)Spark 相關面試題總結
答 rdd resilient distributed dataset 叫做分布式資料集,是spark中最基本的資料抽象,它代表乙個不可變,可分割槽,裡面的元素可以平行計算的集合 dataset 就是乙個集合,用於存放資料的 destributed 分布式,可以並行在集群計算 resilient 表...