# Innodb存儲引擎
windows環境下mysql數據庫數據表的默認存儲引擎
創建一個InnoDB表,對應磁盤上創建一個(.frm)表結構文件,所有InnoDB表數據都放在一起,文件名是data文件夾下的ibdata.數據較多時,可分為ibdata1,ibdata2…
可以看 這個配置參數
~~~
innodb_file_per_table
show variables like 'innodb_file_per_table';
set global innodb_file_per_table=ON;
~~~
ON:獨立表空間:tablename.ibd
OFF:系統表空間:ibdataX
系統表空間無法簡單的收縮文件大小
如果想把原來存在于表空間的表轉移到獨立表空間中的方法
步驟
1. 使用mysqldump導出所有數據庫表數據(存儲過程,觸發器也要導出)
2. 停止mysql服務,修改參數,并刪除Innodb相關文件
3. 重啟mysql服務,重建Innodb系統表空間
4. 重新導入數據
特性
1. Innodb是一種事務性存儲引擎
2. 完全支持事務的ACID特性(原子特性)
3. Redo Log和Undo Log (2種日志,一種是實現持久性,存儲已經提交的事務不需要隨機讀寫,一種是幫助事務回滾日志和MVCC多版本控制的,存儲未提交的事務需要隨機讀寫)
~~~
show variables like 'innodb_log_buffer_size';
這就是innodb的 Redo Log緩沖區大小,字節單位
show variables like 'innodb_log_files_in_group';
應該是2
~~~
存儲引擎特性
* innodb支持行級鎖
* 行級鎖是由存儲引擎層實現的
數據更新速度快,插入和讀取稍慢,支持事物
編輯數據表的默認存儲引擎:MySQL配置文件(my.ini):default-storage-engine=INNODB
Innodb狀態檢查
~~~
show engine innodb status\G;
輸出
Per second averages calculated from the last 29 seconds這時顯示最近29秒的狀態信息
等等還有其他
~~~
# Myisam存儲引擎
版本<mysql5.0默認表的大小為4G
如存儲大表要修改MAX_Rows和AVG_ROW_LENGTH
mysql5.5版本之前默認的存儲引擎,系統表和臨時表基本都是myisam
臨時表是指在排序,分組等操作中,當數量超過一定的大小之后,由查詢優化器建立的臨時表
對MyISAM進行表修復會造成數據丟失
創建一個myisam作為存儲引擎的數據表時,就會在磁盤上建立三個文件,(.frm表的結構文件 .MYD表的數據文件 .MYI表的索引)
Myisam存儲引擎數據表是獨立于操作系統的,可以輕松備份以及移植數據
數據表有較高的寫入和查詢速度,數據更新慢,不支持事物
特性:
* 支持全文索引
* 支持數據壓縮
* 支持空間類應用,如GPS
修改存儲引擎 alter table tbname engine innodb;
- SQL
- 名詞
- mysql
- 初識mysql
- 備份和恢復
- 存儲引擎
- 數據表損壞和修復
- mysql工具
- 數據庫操作
- 增
- 刪
- 改
- 查
- 數據類型
- 整數類型
- 小數類型
- 日期時間類型
- 字符和文本型
- enum類型
- set類型
- 時間類型
- null與not null和null與空值''的區別
- 數據表操作
- 創建
- 索引
- 約束
- 表選項列表
- 表的其他語句
- 視圖
- sql增刪改查
- sql增
- sql刪
- sql改
- sql查
- sql語句練習
- 連接查詢和更新
- 常用sql語句集錦
- 函數
- 字符函數
- 數值運算符
- 比較運算符與函數
- 日期時間函數
- 信息函數
- 聚合函數
- 加密函數
- null函數
- 用戶權限管理
- 用戶管理
- 權限管理
- pdo
- 與pdo相關的幾個類
- 連接數據庫
- 使用
- pdo的錯誤處理
- pdo結果集對象
- pdo結果集對象常用方法
- pdo預處理
- 常用屬性
- mysql編程
- 事務
- 語句塊
- mysql中的變量
- 存儲函數
- 存儲過程
- 觸發器
- mysql優化
- 存儲引擎
- 字段類型
- 三范式和逆范式
- 索引
- 查詢緩存
- limit分頁優化
- 分區
- 介紹
- 分區算法
- list分區
- range范圍
- Hash哈希
- key鍵值
- 分區管理
- 特別注意
- 分表
- 數據碎片與維護
- innodb表壓縮
- 慢查詢
- explain執行計劃
- count和max,groupby優化
- 子查詢優化
- mysql鎖機制
- 介紹
- 演示
- 總結
- 樂觀鎖和悲觀鎖
- 扛得住的mysql
- 實例和故事
- 系統參數優化
- mysql體系結構
- mysql基準測試
- 索引
- mysql的復制
- win配置MySQL主從
- mysql5.7新特性
- 常見問題
- general log
- 忘記密碼
- uodo log與redo log
- 事務隔離級別
- mysql8密碼登錄
- explain
- 高效的Tree表
- on delete cascade 總結
- mongod
- 簡介
- 集合文檔操作語句
- 增刪改查
- 索引
- 數據導入和導出
- 主從復制
- php7操作mongod
- 權限管理
- redis
- redis簡介
- 3.2版本配置文件
- 3.0版本配置文件
- 2.8版本配置文件
- 配置文件總結
- 外網連接
- 持久化
- RDB備份方式保存數據
- AOF備份方式保存數據
- 總結
- win安裝redis和sentinel部署
- 事務
- Sentinel模式配置
- 分布式鎖
- 管道
- php中redis代碼
- 發布訂閱
- slowlog
- Redis4.0
- scan和keys
- elasticsearch
- 配置說明
- 啟動
- kibana
- kibana下載
- kibana配置文件
- kibana常用功能
- 常用術語
- Beats
- Beats簡介
- Filebeat
- Packetbeat
- Logstash
- 配置
- elasticsearch架構
- es1.7
- head和bigdesk插件
- 插件大全
- 倒排索引
- 單模式下API增刪改查
- mget獲取多個文檔
- 批量操作bulk
- 版本控制
- Mapping映射
- 基本查詢
- Filter過濾
- 組合查詢
- es配置文件
- es集群優化和管理
- logstash
- kibana
- es5.2
- 安裝
- 沖突處理
- 數據備份
- 缺陷不足
- 集群管理api
- 分布式事務
- CAP理論
- BASE模型
- 兩階段提交(2PC)
- TCC (Try-Confirm-Cancle)
- 異步確保型
- 最大努力通知型
- 總結