データの mysql テーブルがあり、ステータスが「非アクティブ」でなく、合計が 0 でない行のみを返す必要があります (ただし、ステータスが非アクティブで合計が 0 でない行が存在する可能性があります。逆)。この要件が必要になる前は、標準のクエリを実行してすべての行を選択していました。
SELECT * FROM tableName WHERE uid = id;
ただし、クエリを変更して上記の制約を追加すると、次のようになります。
SELECT * FROM tableName WHERE uid = id AND (status != "Deactive" OR Total != 0);
この一番下のクエリは、完了するまでにはるかに長い時間がかかります。なぜこれが起こっているのですか?このクエリを実行するためのより良い方法はありますか?