ユーザーデータを格納する2つのテーブルがあります。1つは内部ユーザー用、もう1つは外部ユーザー用です。両方のユーザーが本を購入するので、以下のSQLスクリプトを使用しました
select o.orderid, o.orderdate, u.firstname, u.lastname from OrderTable o inner join
(
select inneruser_id as uid, firstname, lastname from innerUser where len(firstname) > 0 or len(lastname) > 0
union
select external_id as uid, firstname, lastname from externalUser where len(firstname) > 0 or len(lastname) > 0
) u on u.uid = o.userId where o.orderdate > {0}
テーブルinnerUserの場合、innneruser_idは主キーですが、external_idはexternalUserテーブルの主キーではありません。200,000を超える内部ユーザーと約100,000の外部ユーザーが存在するため、unionの結果にまだu.uidのインデックスがあるかどうかを知りたいです。 。
external_idにインデックスを追加する必要がありますか?これによりクエリのパフォーマンスが向上しますか?助けていただければ幸いです。