1).支援事務(事務是指邏輯上的一組操作,組成這組操作的各個單元,要麼全成功,要麼全失敗)
2).行級鎖定(更新時一般是鎖定當前行):通過索引實現,全表掃瞄仍然會是鎖定整個表,注意間隙鎖的影響.
3).讀寫阻塞與事務隔離級別相關.
4).具有非常高效的快取特性,能快取索引,也能快取資料.
5).整個表和主鍵以cluster方式儲存,組成一顆平衡樹.
6).所有secondary index 都會儲存主鍵資訊.
7).支援分割槽,表空間.類似於oracle資料庫.
8).支援外來鍵約束,不支援全文索引,5.5之前支援,後面不再支援.
9).和myisam相比,innodb對於硬體資源要求比較高.
1).需要支援事務的業務(例如轉賬,付款)
2).行級鎖定對於高併發有很好的適應能力,但是需要保證查詢是通過索引完成.
4).資料一致性要求很高的業務.如:轉賬,充值等.
5).硬體裝置記憶體較大,可以很好利用innodb較好的快取能力來提高記憶體利用率,盡可能減少磁碟io的開銷.
1).主鍵盡可能小,避免給secondary index帶來過大的空間負擔.
2).避免全表掃瞄,因為會使用表鎖.
3).盡可能快取所有的索引和資料,提高響應速度,減少磁碟io消耗.
4).在大批量小插入的時候,盡量自己控制事務而不要使用autocommit自動提交,有開關引數可以控制提交.
5).合理設定innodb_flush_log_at_trx_commit 引數值,不要過度追求安全性.
如果innodb_flush_log_at_trx_commit的值為0,log buffer每秒就會被刷寫日誌檔案進入磁碟,提交事務的時候不做任何操作.
6).避免主鍵更新,因為這會帶來大量的資料移動.
innodb於myisam區別及應用場景
1.區別 1 事務處理 myisam是非事務安全型的,而innodb是事務安全型的 支援事務處理等高階處理 2 鎖機制不同 myisam是表級鎖,而innodb是行級鎖 3 select update insert delete 操作 myisam 如果執行大量的select,myisam是更好的選...
1 hdfs特性及適用場景
hdfs是乙個分布式檔案系統,用於儲存檔案,通過統一的命名空間 目錄樹來定位檔案,並且是分布式的,由很多伺服器聯合起來實現其功能,集群中的伺服器各自負責角色 重要特徵 1.hdfs中的檔案在物理上是分塊儲存 block 塊的大小可以通過配置引數 dfs.blocksize 來規定,預設大小在hado...
常用執行緒池及適用場景
arrayblockingqueue 有界佇列 是乙個陣列實現的有界阻塞佇列,按fifo排序量 linkedblockingqueue 是乙個基於鍊錶實現的阻塞佇列,按fifo排序任務,可以設定容量,不設定使用integer.max value 不設定就是無界佇列 newfixthreadpool,...