日期:2014-05-18  浏览次数:20381 次

急!!!很奇怪,关于检索数据的速度问题,请指点一下……
数据库中有这样一张表:A(共有40个字段,所有字段均是varchar类型,数据9000多条)

TheID           Date                   Number     Heavy     TheGoods       ……
HH00001       2006-01-01       10             1000       木材               ……        
HH00002       2006-05-01       50             6000       钢材               ……

……
HH01111       2007-01-01       30             800         布                   ……
……

我用Sql语句对数据查询,出现一个奇怪的情况:
select   *   from   A   where   Date   between   '2006-01-01 '   and   '2006-11-01 '

如果上面的语句中日期该成2007的话,那么数据查询就变的很慢(数据也就在一百条左右)。“其他情况”速度都正常的!

请问这个是什么原因造成?有什么办法可以解决?请指点一下……

学习,关注……

------解决方案--------------------
有没有可能很多人在访问服务器?
------解决方案--------------------
按Date列索引一下,看看速度如何~
------解决方案--------------------
把*去掉,改成相应的列名
虽然麻烦,但是效率会高一些
------解决方案--------------------
1、如果查询经常用到Date,可以考虑建索引
2、更新表的统计信息