oracle 中有一大表数据几千万条记录
将其中一个时间字段建立索引后
1。查寻 时间字段=某日期 速度非常快 说明索引起作用 了
2。查询 时间字段<某日期 and 时间字段>某日期 速度非常慢 说明索引不起作用。
说明:
测试过让这个 时间字段=2008年8月8日 or 时间字段=2008年8月9日 查询速度快 索引起作用
而 如果让这个时间字段>=2008年8月8日 and 时间字段<2008年8月10日 查询速度慢 索引不起做用 不知道是什么原因!
将其中一个时间字段建立索引后
1。查寻 时间字段=某日期 速度非常快 说明索引起作用 了
2。查询 时间字段<某日期 and 时间字段>某日期 速度非常慢 说明索引不起作用。
说明:
测试过让这个 时间字段=2008年8月8日 or 时间字段=2008年8月9日 查询速度快 索引起作用
而 如果让这个时间字段>=2008年8月8日 and 时间字段<2008年8月10日 查询速度慢 索引不起做用 不知道是什么原因!
字段1=‘店名’ and 字段2=‘公司名’ and 时间字段>=2008年8月8日 and 时间字段 <2008年8月10日 表中的数据分布情况是怎样的 这个我不知道怎么查数据分布情况。请赐教。多谢
如果经过时间条件过滤后的记录已经很少,可以把SQL改写,使得oracle无法用其他的索引,例如upper(字段1)='店名';
建复合索引也可以提高查询速度。