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

Explainによって返される行がcount()と等しくないのはなぜですか?

    結果を得るために実行した行数を示しています。

    間違ったデータの理由は、EXPLAINが正確ではなく、テーブルに保存されている情報に基づいてデータを推測するためです。

    これは非常に役立つ情報です。たとえば、多くのテーブルでJOINSを実行していて、各行の1行の情報について結合されたテーブル全体を実行していないことを確認したい場合です。

    これが608行のテーブルでのテストです。

    SELECT COUNT(id) FROM table WHERE user_id = 1
    

    結果:

    COUNT(id)
    512
    

    そしてここに説明があります

    EXPLAIN SELECT COUNT(id) FROM table WHERE user_id = 1
    

    結果:

    id  rows
    1   608
    


    1. Ansibleを使用したPostgreSQLのデプロイとメンテナンス

    2. ORA-01861:リテラルがフォーマットstringと一致しません

    3. 複数のパラメーター化された変数をC#のデータベースに追加する

    4. org.postgresql.util.PSQLException:致命的:申し訳ありませんが、すでにクライアントが多すぎます