2016-11-25 50 views
0

的性能我有一個MySQL查詢:如何提高MySQL查詢

select stu_photo, type, sign, type1, fname,regno1 
from stadm 
where regno1 = XXXXXX 
LIMIT 1000; 

stadm表有67063行。以上查詢的執行時間段爲5-6Mints。 我無法爲stu_photo和符號列添加索引(那裏的數據類型是blob & longblob)Table_Enginee是Innodb。我如何提高性能(即縮短執行時間)?

回答

0

我可以看到您的查詢的一個改進是在regno1列中添加索引。這可能會加速WHERE條款。

時無法添加索引stu_photo並簽署列

這些列不應該影響你向我們展示了查詢的性能。

影響查詢性能的另一個因素是將結果集發送回控制檯或應用程序所需的時間。如果每條記錄都非常大,那麼即使只有1000條記錄,情況也可能會很慢。

0

從varchar類型創建一個新列md5_regno1並將regno1中的md5存儲在其中。那麼你可以像這樣在新的列搜索上創建一個索引:

select stu_photo, type, sign, type1, fname,regno1 
from stadm 
where md5_regno1 = MD%('XXXXXX') 
LIMIT 1000;