一、SQL執(zhí)行過程
1、用戶連接數據庫,執(zhí)行SQL語句;
2、先在內存進行內存讀,找到了所需數據就直接交給用戶工作空間;
3、內存讀失敗,也就說在內存中沒找到支持SQL所需數據,就進行物理讀,也就是到磁盤中查找;
4、找到的數據放到內存中,在內存進行數據過濾再放到會話工作空間。
5、假設會話工作空間需要暫存結果集進行排序,但空間不足的話,就會借用磁盤tmpdir,最后再將結果返回給用戶。
注:
用戶會話空間是內存中分配出來的一個工作空間,而innodb_buffer_pool是innodb存儲引擎在內存中的一個緩沖池。
一個SQL執(zhí)行速度快并不能說明這個SQL沒有性能問題,SQL性能不是一定需要利用并發(fā)來測試,主要是看其資源消耗點。