[英]How to improve the performance of the Mysql Query
我有一個Mysql查詢:
select stu_photo, type, sign, type1, fname,regno1
from stadm
where regno1 = XXXXXX
LIMIT 1000;
stadm表具有67063行。 以上查詢的執行時間為5-6分鍾。 無法為stu_photo和sign列添加索引(數據類型為blob和longblob),Table_Enginee為Innodb。 我如何提高性能(即減少執行時間)?
我可以為您的查詢看到的一項改進是在regno1
列上添加索引。 這可能會加快WHERE
子句的速度。
無法添加stu_photo的索引和符號列
這些列不應影響您顯示給我們的查詢的性能。
影響查詢性能的另一個因素是將結果集發送回控制台或應用程序所花費的時間。 如果每個記錄都很大,那么即使只有1000條記錄,事情也會顯得很慢。
從varchar類型創建一個新列md5_regno1並將regno1中的md5存儲在其中。 那么您可以像這樣在新的列搜索上創建索引:
select stu_photo, type, sign, type1, fname,regno1
from stadm
where md5_regno1 = MD%('XXXXXX')
LIMIT 1000;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.