我有一张表中有数据约300万条。表结构大致如下:Stat_table
ID StartTime Result
1 XXXXX SUC
....................3000000 XXXXX Failed这个表时刻在添加新的纪录。要求统计十分钟前到当前的记录的Resutl.虽然ID建了索引,但是 StartTime没有建索引 ,这样简单的以下查询:
select count(Result) from Stat_table
where StartTime > 10分钟前
and StartTime < 现在
and Result='SUC';问题是:
1。由于StartTime没有建索引,所以尽管是查10分钟前到当前的数据,应该还是做的是全表查询。这样速度相当慢。有没有办法在不建StartTime索引的前提下大幅度提高查询速度呢?
2。这个“10分钟前”的时间怎么可以得到呢?多谢先。
ID StartTime Result
1 XXXXX SUC
....................3000000 XXXXX Failed这个表时刻在添加新的纪录。要求统计十分钟前到当前的记录的Resutl.虽然ID建了索引,但是 StartTime没有建索引 ,这样简单的以下查询:
select count(Result) from Stat_table
where StartTime > 10分钟前
and StartTime < 现在
and Result='SUC';问题是:
1。由于StartTime没有建索引,所以尽管是查10分钟前到当前的数据,应该还是做的是全表查询。这样速度相当慢。有没有办法在不建StartTime索引的前提下大幅度提高查询速度呢?
2。这个“10分钟前”的时间怎么可以得到呢?多谢先。
解决方案 »
- XML_DB到底性能怎么样
- 共享我的ORACLE数据在LINUX下的远程备份解决方案!!
- [HELP]oracle入门级的ppt文档共享?
- 如何判断两个字符串不相等?
- 请问我该分配什么权限给用户,他才可以登陆Oracle Enterprise Manager Console中?
- 高分求教oracle8.1.7中exp/imp中的容量问题
- 若干关于oracle数据库的问题?小弟初学,请大家相助。
- 哪儿有developer下载
- 散分罗--一个简单问题!!!
- 如何将一个数据库的表里的数据导到另一个数据库中的一个表里,两表结构都一样???????????????
- 关于临时表空间占用的问题???
- 使用level=0的基础备份后不能恢复,提示数据文件是从老备份里恢复的,请各位帮忙看看
估计10分钟的最大可能的记录数,如为5000
select count(Result) from Stat_table
where StartTime > 10分钟前
and StartTime < 现在
and Result='SUC';
and id > (select max(id) from stat_table) - 5000
使用trigger保持加的字段值与start_time一致
再在sql里改用start_time