0

私のMySQLデータベースには100万を超えるレコードがあり、ますます増えています。私はそこに値'aid'を持っていますが、それは時々複数回利用可能です。援助を数えたい。

私は試した

SELECT COUNT ( DISTINCT (value) ) AS somevalue
FROM table

これは機能しましたが、現在は非常に多くの値があるため、max_exec_timeよりも時間がかかります。GROUPBYでも同じことを試しましたが成功しませんでした。

このクエリを高速に実行する方法はありますか?または他の解決策はありますか?

4

2 に答える 2

11

値をインデックスに!インデックスのカウントは、テーブル内のレコードを処理するよりもはるかに高速です。

于 2012-09-07T22:44:37.920 に答える
-1

各行に ID (ID、uto_increment) を割り当て、最後に割り当てられた ID を取得するだけです。

于 2012-09-08T16:09:06.863 に答える