BLACKHOLE儲存引擎總結
BLACKHOLE安裝
使用cmake原始碼安裝時指定-DWITH_BLACKHOLE_STORAGE_ENGINE 選項 可以啟用 BLACKHOLE 儲存引擎,使用預設編譯項可編譯BLACKHOLE,但是沒有安裝外掛,需要手工安裝。
mysql> show engines; +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ 6 rows in set (0.00 sec) mysql> show variables like 'plugin_dir'; +---------------+-----------------------+ | Variable_name | Value | +---------------+-----------------------+ | plugin_dir | /db/mysql/lib/plugin/ | +---------------+-----------------------+ 1 row in set (0.00 sec) mysql> system ls /db/mysql/lib/plugin/ adt_null.so auth_test_plugin.so ha_archive.so ha_federated.so qa_auth_client.so semisync_master.so auth.so daemon_example.ini ha_blackhole.so libdaemon_example.so qa_auth_interface.so semisync_slave.so auth_socket.so debug ha_example.so mypluglib.so qa_auth_server.so mysql> INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so'; Query OK, 0 rows affected (0.00 sec) mysql> show engines; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 7 rows in set (0.00 sec)
使用BLACKHOLE
建立BLACKHOLE表只會在資料庫生成.frm表定義結構。
mysql> use test; Database changed mysql> CREATE TABLE test(i INT, c CHAR(10)) ENGINE = BLACKHOLE; Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO test VALUES(1,'record one'),(2,'record two'); Query OK, 2 rows affected (0.04 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from test; Empty set (0.00 sec) mysql> system ls /db/mysql/data/test db.opt test.frm
BLACKHOLE總結
- BLACKHOLE支援所有型別的索引
- BLACKHOLE 表不儲存資料,如果複製基於SBR,語句可以記錄並在從庫執行;如果複製為RBR、MBR,UPDATE及DELETE操作將會跳過,不會記錄也從庫不執行。
- Insert觸發器可以正常使用,Update、Delete觸發器因為不儲存資料不能觸發,FOR EACH ROW 也不能觸發。
- BLACKHOLE 表Auto Increment欄位不會自動遞增,也不保留自增欄位的狀態
- 結合複製replicate-do和replicate-ignore規則,可使用BLACKHOLE當做一個分發主伺服器
- 可用來驗證轉儲檔案語法
- 測試binlog的開銷量,通過對比 BLACKHOLE 與 不啟動 binlog的效能
- 可能被用來查詢與儲存引擎自身不相關的效能瓶頸
參考:
http://dev.mysql.com/doc/refman/5.5/en/blackhole-storage-engine.html
整理自網路
Svoid
2015-04-24
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29733787/viewspace-1604393/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 總結MySQL儲存引擎MyISAM與InnoDB區別MySql儲存引擎
- MongoDB儲存引擎-MMAPv1學習總結MongoDB儲存引擎
- MyISAM 儲存引擎,Innodb 儲存引擎儲存引擎
- MySQL儲存引擎之MyIsam和Innodb總結性梳理MySql儲存引擎
- MySQL兩種儲存引擎: MyISAM和InnoDB 簡單總結MySql儲存引擎
- PostgreSQL儲存引擎之page結構SQL儲存引擎
- 儲存引擎儲存引擎
- MySQLInnoDB儲存引擎(一):精談innodb的儲存結構MySql儲存引擎
- MySQL體系結構與儲存引擎MySql儲存引擎
- PostgreSQL儲存引擎之heap tuple結構SQL儲存引擎
- MyRocks儲存引擎資料結構解析儲存引擎資料結構
- MySQL InnoDB儲存引擎體系結構MySql儲存引擎
- MySql體系結構和儲存引擎MySql儲存引擎
- bitcask儲存引擎儲存引擎
- MySQL 儲存引擎MySql儲存引擎
- Innodb儲存引擎儲存引擎
- MySQL儲存引擎MySql儲存引擎
- mysql總結:索引,儲存引擎,大批量資料插入,事務,鎖MySql索引儲存引擎
- 【Web總結】資源儲存Web
- MySQL InnoDB的儲存結構總結MySql
- MySQL系列-儲存引擎MySql儲存引擎
- 儲存引擎簡介儲存引擎
- MySQL Archive儲存引擎MySqlHive儲存引擎
- InnoDB儲存引擎——表儲存引擎
- MySql 官方儲存引擎MySql儲存引擎
- MERGE 儲存引擎儲存引擎
- MySQL MEMORY儲存引擎MySql儲存引擎
- SQL----儲存引擎SQL儲存引擎
- MySQL InnoDB儲存引擎MySql儲存引擎
- MySQL 5.6 InnoDB儲存引擎體系結構圖MySql儲存引擎
- Mysql技術內幕InnoDB儲存引擎讀書筆記--《一》Mysql體系結構和儲存引擎MySql儲存引擎筆記
- SQL總結(五)儲存過程SQL儲存過程
- openGauss儲存技術(一)——行儲存引擎儲存引擎
- openGauss儲存技術(二)——列儲存引擎和記憶體引擎儲存引擎記憶體
- InnoDB儲存引擎簡介儲存引擎
- MySQL入門--儲存引擎MySql儲存引擎
- 理解mysql的儲存引擎MySql儲存引擎
- MySQL之四 儲存引擎MySql儲存引擎