当前位置: 代码迷 >> Sybase >> sybase12.2.1十万条记录,按条件查询几千条数据的时候30分钟都没出结果怎么处理?
  详细解决方案

sybase12.2.1十万条记录,按条件查询几千条数据的时候30分钟都没出结果怎么处理?

热度:3989   发布时间:2013-02-26 00:00:00.0
sybase12.2.1十万条记录,按条件查询几千条数据的时候30分钟都没出结果怎么办???
根据时间类型的字段TriggerTime来查询:
where convert(char(10),TriggerTime,111) between '2009/12/05' and '2009/12/06'
如果为TriggerTime建立索引,也会因为查询条件中使用了函数而失效,有些朋友建议另建一个字符串类型的字段来专门存放格式化的日期,为其创建索引并以此来查询,我也试过了,由于数据量很大,日期值也会有很多重复的,只能创建非聚簇索引,我试过了,查询起来也一样慢呀,而还有一些统计更是要命呀,怎么办??

------解决方案--------------------------------------------------------
convert(char(10),TriggerTime,111) 这里有问题
------解决方案--------------------------------------------------------
直接使用DATETIME如何?
where TriggerTime between '2009/12/05 00:00:01' and '2009/12/05 23:59:59'
or
where TriggerTime between '2009/12/05 00:00:01' and '2009/12/06 00:00:01'