如何查詢自己數據庫支持什麼引擎
SHOW ENGINES
創建表的時候可以指定數據庫引擎
ENGINE=MyISAM :指定引擎
CHARSET=UTF-8 : 指定編碼
各種存儲引擎的特性:
MyISAM: 存儲限制:有,
鎖機制:表鎖,
索引:B樹,全文
緩存:支持索引緩存
數據可壓縮:支持
空間使用:低
內存使用:低
批量插入速度:高
InnoDB:存儲限制:64TB
事務:支持
鎖機制:行鎖
索引:B樹索引,集羣索引
緩存:支持數據緩存,支持索引緩存
空間使用:高
內存使用:高
批量插入速度:低
支持外鍵
應用場景
MyISAM 不支持事務,也不支持外鍵,優勢是訪問速度快。對事務完整性沒有要求的或者select 和insert 爲主的應用基本上可以使用這個引擎來創建表
數據類型的選擇
Text 與 bolb 的區別:
text只能存文本類型,bolb可以存儲二進制類型
Text 與bolb 引起的性能問題:
在刪除的時候會留下大量的空洞,建議定期使用optimize進行碎片整理,語法如下:
OPTIMIZE TABLE 表名; :碎片整理
在有text和bolb的表中如何提供高效的查詢方案
1, 散列值索引(合成索引)
2, 把text和bolb的列存入到一個單獨的表中
3, 如果不是必要儘量少檢索text和bolb的值,比如select *