一个count(*)的执行计划走index(fast full scan),很慢。查询了N多blocks。
加上/*+INDEX(table_name index_name)*/ 走了同一个index,方式变为index(range scan) 很快,读的blocks少了
用outline固定带/*+INDEX(table_name index_name)*/ 的SQL语句,再开个session,use_stored_outlines=true,执行不带/*+INDEX(table_name index_name)*/ 的时候,又是INDEX(fast full scan)
晕!怎么搞啊?
加上/*+INDEX(table_name index_name)*/ 走了同一个index,方式变为index(range scan) 很快,读的blocks少了
用outline固定带/*+INDEX(table_name index_name)*/ 的SQL语句,再开个session,use_stored_outlines=true,执行不带/*+INDEX(table_name index_name)*/ 的时候,又是INDEX(fast full scan)
晕!怎么搞啊?
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7319461/viewspace-765267/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7319461/viewspace-765267/
本文探讨了SQL执行计划中使用不同索引扫描方式的影响。通过对比INDEX(fastfullscan)与INDEX(rangescan),发现后者能显著减少读取的数据块数量,从而提高查询效率。文章还讨论了使用outline固定执行计划的方法。
1287

被折叠的 条评论
为什么被折叠?



