アプリ版:「スタンプのみでお礼する」機能のリリースについて

table1、table2、table3というテーブルがあり
このそれぞれをidというカラムで並び替えたものを結合するので考えました。

SELECT * FROM `table1`
UNION ALL
SELECT * FROM `table2`
UNION ALL
SELECT * FROM `table3`
ORDER BY `id`
にすると全てを結合したものを並び替えるので

SELECT *, '1' AS tbl FROM `table1`
UNION ALL
SELECT *, '2' AS tbl FROM `table2`
UNION ALL
SELECT *, '3' AS tbl FROM `table3`
ORDER BY `tbl`,`id`
という風に書いてみました、結果としてはよさそうですが
方法としては間違ってないでしょうか?

他にいい方法があればアドバイスをお願いします。

A 回答 (1件)

>方法としては間違ってないでしょうか?



効率的かどうかはともかくロジックはあっていると思います
SELECT *している時点でインデックスは期待できないですしね

>他にいい方法があればアドバイスをお願いします。

あえて指摘するなら構造が同じテーブルなら、一つにまとめてしまった方が
効率がいいのは間違いないです
(おそらくなんらかの理由でわけているのでしょうけど)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!