• 締切済み

結合した場合の取得時間差について

ちょっと抽象的ですいませんが、 100万件のデータがあるテーブルAからインデックスを利用して1万件のデータを取得する場合と、 80万件のデータがあるテーブルAと1000件のデータがあるテーブルBを結合して、インデックスを利用して1万件のデータを取得する(WHERE区の>=,<=とGROUP BYを使用) 場合だと明らかに前者の方が速いとは思いますが、実際の取得時間の差はどれくらいあるでしょうか? 何を教えてもらいたいかと言うと、上記の場合、テーブルAの80万件は別テーブルのデータから作られており、残りの20万件はテーブルAとテーブルBから作ることができるので(80万件をあるKEYでSUMしたもの)、 2つの方法でのデータ取得の差があまりない、あるいはかなり小さくできるのなら、後者の方法を取りたいのです。 (INSERT,UPDATEを無駄にしたくない) 説明がわかりづらくてすいませんが、アドバイスをお願いします。

みんなの回答

noname#45409
noname#45409
回答No.1

これだけの情報では無理ですね。 実際にデータが入っている状態で実行計画を取って、確かめるのが一番確実だと思います。10gならEnterprise Managerで簡単に実行計画が取れると思います。

関連するQ&A