2016-11-25 87 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;