質問 |
||
| QNo.3605018 | DBリンク&シノニム経由インデックス | |
|---|---|---|
| 質問者:hiro_sun |
Oracle8iサーバ(サービス名:Aサーバ)と Oracle10gサーバ(サービス名:Bサーバ)があります。 Aサーバに作られた、aスキーマに、test_tableというテーブルがあります。 そのtest_tableをBサーバに作られた、bスキーマから参照する為に、 DBリンク:BA_linkを作成しました。 実際に、bスキーマから参照する場合は、 同スキーマに、 CREATE SYNONYM test_table FOR test_table@BA_link; のように作られたシノニムを利用して、参照します。 抽出に時間がかかるので、インデックスを作成しようと思うのですが、 どのスキーマにどのように作成すればよいのでしょうか? ちなみにインデックスの対象にしたい項目は、 VAR_ITEM VARCHAR2(10) NUM_ITEM NUMBER(5) とします。 ちなみにbスキーマにて、 CREATE INDEX test_table_IX1 ON test_table (VAR_ITEM, NUM_ITEM); と実行したところ、 ORA-02021: リモート・データベースに対するDDL操作が無効です・ というエラーが発生しました。 DBリンク先自身に、作成すべきということはなんとなく予想が つくのですが、そのインデックスはDBリンク経由でも有効なのでしょうか? |
|
困り度:
|
||
| 質問投稿日時: 07/12/17 09:08 |
||
回答 |
|
| ANo.1 | Aサーバ上のテーブルに対する索引はAサーバ上に作成します。 Bサーバが受け付けたSQL文は、Aサーバのテーブルに対する検索SQLに組み立て直されて、Aサーバに託されます。 Aサーバのテーブルを検索するのは、あくまでAサーバですし、Aサーバが所有するテーブルの実行計画を立てるのも Aサーバ自身です。 |
|---|---|
| 回答者:k_o_r_o_c_h_a_n | |
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 07/12/17 18:07 |
|
| |
| この回答への補足 | この回答に補足をつける(質問者のみ) |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |