在mysql查詢結(jié)果,mysql怎么查詢執(zhí)行sql的記錄?
我們先創(chuàng)建一個測試數(shù)據(jù)庫:
快速創(chuàng)建一些數(shù)據(jù):
連續(xù)執(zhí)行同樣的 SQL 數(shù)次,就可以快速構(gòu)造千萬級別的數(shù)據(jù):
查看一下總的行數(shù):
我們來釋放一個大的 update:
然后另起一個 session,觀察 performance_schema 中的信息:
可以看到,performance_schema 會列出當(dāng)前 SQL 從引擎獲取的行數(shù)。等 SQL 結(jié)束后,我們看一下 update 從引擎總共獲取了多少行:
可以看到該 update 從引擎總共獲取的行數(shù)是表大小的兩倍,那我們可以估算:update 的進(jìn)度 = (rows_examined) / (2 * 表行數(shù))