一、SQL執(zhí)行過程

  1、用戶連接數(shù)據(jù)庫,執(zhí)行SQL語句;

  2、先在內(nèi)存進(jìn)行內(nèi)存讀,找到了所需數(shù)據(jù)就直接交給用戶工作空間;

  3、內(nèi)存讀失敗,也就說在內(nèi)存中沒找到支持SQL所需數(shù)據(jù),就進(jìn)行物理讀,也就是到磁盤中查找;

  4、找到的數(shù)據(jù)放到內(nèi)存中,在內(nèi)存進(jìn)行數(shù)據(jù)過濾再放到會(huì)話工作空間。

  5、假設(shè)會(huì)話工作空間需要暫存結(jié)果集進(jìn)行排序,但空間不足的話,就會(huì)借用磁盤tmpdir,最后再將結(jié)果返回給用戶。

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)

注:

  用戶會(huì)話空間是內(nèi)存中分配出來的一個(gè)工作空間,而innodb_buffer_pool是innodb存儲(chǔ)引擎在內(nèi)存中的一個(gè)緩沖池。

 

一個(gè)SQL執(zhí)行速度快并不能說明這個(gè)SQL沒有性能問題,SQL性能不是一定需要利用并發(fā)來測(cè)試,主要是看其資源消耗點(diǎn)。

網(wǎng)友評(píng)論