sql >> データベース >  >> RDS >> Mysql

MySQLのUNIONALLとLIMIT

    現在、MySQLは、@ Yuki Inoueが回答で述べたように、最初のいくつかのクエリに十分な行がある場合でも、ユニオンですべての選択を実行します。 @ user1477929の回答を使用して、クエリを次のように書き直すことができます。

    (SELECT a FROM t1 WHERE a=10 AND B=1 LIMIT 1000) 
    UNION ALL 
    (SELECT a FROM t2 WHERE a=11 AND B=2 LIMIT 1000) 
    UNION ALL 
    (SELECT a FROM t3 WHERE a=12 AND B=3 LIMIT 1000) 
    ORDER BY a LIMIT 1000;
    

    これにより、最大1000行が提供され、3000を超えるスキャンは実行されません。



    1. OracleSQL挿入ステートメントでパラメータを返す

    2. MySQLのクエリのGROUPBY句は、場合によってのみ接続をクラッシュさせます

    3. SQLServerのグラフィカルユーザーインターフェイスを使用してExcelまたはCSVデータをテーブルに挿入する方法-SQLServer/TSQLチュートリアルパート102

    4. カーソルデータを配列に入れる