关于bitmap conversion to ROWID

Question: I have a query against tables without a bitmap index, and get I see "bitmap conversion to ROWID" in the execution plan. How does bitmap conversion to ROWIDS work? I want to understand optimizer behavior i.e. BITMAP CONVERSION TO ROWIDS and BITMAP CONVERSION FROM ROWIDS. What does this mean and how can i change it to simple rowid access? Answer: The "bitmap conversion to ROWIDS" execution plan step was generally introduced in Oracle 9i when the default for _b_tree_bitmap_plans changed from "false" to "true". The "BITMAP CONVERSION (TO ROWIDS)" plan is not always an optimal step when converting from b-tree indexes, and it can be very inefficient access plan in some cases. Bitmap conversion to ROWIDS does not require bitmap indexes, and it's sometimes found in cases of SQL with complex WHERE clause conditions. The bitmap conversion to rowids is sometimes seen with star transformations (by setting star_transformation_enabled = true). You can also turn-off bitmap conversion to ROWIDS in your init.ora by re-setting this hidden parm: _b_tree_bitmap_plans=false You can also turn-off bitmap conversion at the session level, for testing: alter session set "_b_tree_bitmap_plans"=false As always, notify Oracle technical support before employing any hidden parameters, as they can make your database unsupported. Notes: There is some Oracle 9i bugs ( bug 2546446 and bug 2742886 ) that invoke inappropriate "BITMAP conversion to ROWID" access path.
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页