btree index (13)
btbeginscan
btree indexの検索の初期化処理を行う。RelationGetIndexScanでIndexScanDesc
構造体を作成する。
btrescan
btree indexの検索条件を設定する。最初に検索を実行するときはbtbeginscanから
btrescanが実行される。
#0 btrescan at nbtree.c:419 #1 FunctionCall2 at fmgr.c:1157 #2 index_rescan at indexam.c:354 #3 RelationGetIndexScan at genam.c:113 #4 btbeginscan at nbtree.c:408 #5 FunctionCall3 at fmgr.c:1182 #6 index_beginscan_internal at indexam.c:312 #7 index_beginscan at indexam.c:241 #8 ExecInitIndexScan at nodeIndexscan.c:485 #9 ExecInitNode at execProcnode.c:163 #10 InitPlan at execMain.c:613 #11 ExecutorStart at execMain.c:165
またnested loop joinなどで検索条件を変えてbtree indexを再度実行する前にも,この関数が実行される。
btendscan
btree indexの検索を終了する。バッファを開放したり,メモリを開放する。
btgetmulti
btree indexから,一度に複数の検索結果を取得する。これにより_bt_restscanのoverheadを減らすことができる。この関数は,実行計画がBitmapIndexScanのときに利用され、一度のコールで最大max_tidsに指定した数の検索結果を取得できる。検索結果はItemPointerの配列に保存される。