我有一个Mysql查询:
select stu_photo, type, sign, type1, fname,regno1
from stadm
where regno1 = XXXXXX
LIMIT 1000;stadm表有67063行。上述查询的执行时间段为5-6分钟。我无法为stu_photo和符号列添加索引(那里的数据类型是blob和longblob) Table_Enginee是Innodb。如何提高性能(即缩短执行时间)?
发布于 2016-11-25 16:48:01
我能看到的查询改进之一是在regno1列上添加一个索引。这可能会加快WHERE子句的执行速度。
我无法为stu_photo和sign列添加索引
这些列应该不会影响您向我们显示的查询的性能。
影响查询性能的另一个因素是将结果集发送回控制台或应用程序所需的时间。如果每条记录都非常大,那么即使只有1000条记录,事情也可能看起来很慢。
发布于 2016-11-25 16:51:24
从类型varchar创建一个新的列md5_regno1,并将来自regno1的md5存储在其中。然后,您可以为新的列搜索创建索引,如下所示:
select stu_photo, type, sign, type1, fname,regno1
from stadm
where md5_regno1 = MD%('XXXXXX')
LIMIT 1000;https://stackoverflow.com/questions/40800816
复制相似问题