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

大規模なクエリとテーブルの構造を最適化する際の問題

    代わりにJOINを使用すると、内部選択の2つを保存できます。これにより、どちらの場合も確実に高速化されます(genre_id = 300 およびgenre_id = 900

    SELECT  
        st.sid, st.title, st.sinopse,  
        (SELECT GROUP_CONCAT(CAST(genre_id AS CHAR)) FROM fanfiction_stories_genres WHERE sid = st.sid) as genres,  
        stats.reviews, stats.recomendacoes,  
        (SELECT GROUP_CONCAT(CAST(warning_id AS CHAR)) FROM fanfiction_stories_warnings WHERE sid = st.sid) as warnings_ids  
    FROM  
        fanfiction_stories AS st  
        LEFT JOIN fanfiction_stories_stats AS stats ON st.sid = stats.sid  
        JOIN fanfiction_stories_warnings w ON st.sid = w.sid AND w.warning_id = 5
        JOIN fanfiction_stories_genres g ON st.sid = g.sid AND g.genre_id = 300
    GROUP BY st.sid
    ORDER BY st.sid ASC  
    LIMIT 20  
    



    1. MySQLCAPIの使用-プリペアドステートメントを使用して行の挿入が成功したかどうかを確認します

    2. xp_cmdshell に渡されたコマンド パラメータを dtexec にエスケープする

    3. MySQLで配列変数をシミュレートするにはどうすればよいですか?

    4. mysqlは個別のカンマ区切り値を選択します