表t的分区是按列day_id的日期的每一天分区的,
(如20091201、20091202、每天一个分区,每个分区中有两百万条数据,每个月有5000万条数据),
表t在code字段上建有索引,是local索引,create index idx on t(code) local ,
sql: select *from
t
where
t.day_id between 20100101 and 20100131
and t.code='xxxx';
问题:如果是全局索引的话 ,是从根节点开始扫描,索引有几层就扫描几次,就到达叶子节点。
那么像上面这句SQL的话,local索引的扫描是怎样的 呢??
解决方案 »
- 【新手请教】oracle存储过程中出现符号错误
- oracle数据库 数据处理
- 关于sql性能问题。急急急!各位大侠请帮忙
- 请教一条语句,谢谢。
- 为什么order by 这么慢
- 各位xdjm,看看这个oracle sql有什么优化的方面
- oracle10g 如何查询一组数据中某个字段值最大的记录
- 更新一个表中的数据来源于另一个表中数据,如何写?
- 问:如何向oracle9i中插入日期???
- 想按周条件统计按格式输出的问题?
- 傻瓜问题 C++ 连接oracle
- 自定义记录报错:PLS-00103: Encountered the symbol "NAME_TYPE" when expecting one of the
使用分区查询的时候,比如你上面的语句,会根据day_id判断需要哪几个分区,也就是说需要哪几个索引,再逐个索引扫描。