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

サブクエリでINを使用すると、インデックスは使用されません

    この質問への回答を見ることができます あなたは素晴らしいアイデアをするでしょう。

    いくつかの回答から引用しています

    簡単に言うと、インデックスを強制してみてください:

    SELECT *
    FROM mapping_channel_fqdn_virtual_host FORCE INDEX (name of the index you want to use)
    WHERE (mapping_channel_fqdn_virtual_host.id IN (1,2,3,4,5,6,7,8,9,10));
    

    または、代わりにJOINを使用して、説明を参照してください

    SELECT * FROM mapping_channel_fqdn_virtual_host mcf
    JOIN (select max(id) as ids from mapping_channel_fqdn_virtual_host group by channel_id, fqdn_virtual_host_id)) AS mcfv 
    ON mcf.id = mcfv.ids;
    



    1. PHP / MySQLベースのスクリプトを使用してWebサイトからのIPブロックを禁止するにはどうすればよいですか?

    2. PreparedStatementは構文エラーをスローします

    3. データベースが定期的にバックアップされるようにする方法

    4. Webアプリケーション[]は、[Abandoned connection cleanupthread]com.mysql.jdbc.AbandonedConnectionCleanupThreadという名前のスレッドを開始したようです。