不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2013-03-18 14:48:26  修改时间:2024-04-12 09:25:12  分类:MySQL/Redis  编辑

最近在工作中遇到了数据库服务器产生很多读写队列的问题,于是要求大家开始优化我们的SQL语句。

下面是查询quotedata_history表中的code字段的SQL语句,其中code字段的类型是varchar(6)。

以上查询语句是:

SELECT * FROM quotedata_history WHERE `code` = 600000

大家可以看到这个语句的code条件600000是没有加引号的,通过Navicate的截图大家可以看到这次查询花了14.169秒。

以上查询语句是:

SELECT * FROM quotedata_history WHERE `code` = '600000'

大家可以看到这个语句的code条件600000加了引号,通过Navicate的截图大家可以看到这次查询花了0.087秒。

这两个查询的效率相差实在是太大了!

所以大家要注意,以后查询数据库的时候,如果字段是string类型的,条件的值必须加上 单引号,以提升查询的效率!