在可重複讀(repeatable read
)隔離級別下,mvcc具體是如何操作的。
select查詢操作時
innodb會根據以下兩個條件檢查每行記錄:
insert
delete
update
select count(distinct left(word,6))/count(*) from dict;
比如如下測試的sql,table1表的filterid欄位建了索引
select t1.*
from table1 t1
inner join table2 t2
on t1.commonid = t2.commonid
where t1.filterid = 1
straight_join 方式改寫驅動表
select t1.*
from table1 t1
straight_join table2 t2
on t1.commonid = t2.commonid
where t1.filterid = 1
# 改查詢需要掃瞄474條行數
explain select count(*) from system_log20190401000001 where id >5;
# 將條件反轉一下,先查詢id<5的資料,然後利用總數去做減法也能得到結果
explain select (select count(*) from system_log20190401000001)-count(*) from system_log20190401000001 where id <=5;
select column_name(s) from table_name1
union
select column_name(s) from table_name2
# union all
select column_name(s) from table_name1
union all
select column_name(s) from table_name2
mysql總結3(高效能MySQL筆記)
10 複製 mysql支援基於行的複製和基於語句的複製,這兩種方式都是通過在主庫中記錄二進位制日誌,然後在備庫中重放日誌的方式來實現資料的非同步複製。複製框架對於主庫的開銷 增加二進位制日誌的儲存,備庫從主庫讀取日誌的網路開銷等。複製的目的 資料分布儲存 達到負載均衡 備份 高可用性和故障切換 伺服...
高效能mysql第三版
高效能mysql第三版 本書目錄結構如下 第一章 mysql架構與歷史 1.1 mysql邏輯架構 1.2 開發控制 1.3 事務 1.4 多版本併發控制 1.5 mysql的儲存引擎 1.6 mysql時間線 timeline 1.7 mysql的開發模式 第二章 mysql基準測試 2.1 為什...
高效能mysql讀書筆記(三)
整數型別 whole number 和 real number whole number可以使用tinyint,smallint,mediumint,int,bigint,分別占用8,16,24,42,64位。real number主要有float和double,支援浮點運算,float 和 dou...