2016-06-26 11 views
0

私は単一のテーブルでクエリを実行しています。シングルテーブルのクエリパフォーマンスが向上

SELECT firstName, COUNT(*) as num_bob 
FROM DataTable 
WHERE firstName= "bob" 

上記のものと同様のクエリは、長い時間を要します。 データベース/テーブルはインデックスを使用せず、すべてのデータは単一のテーブルに格納されます。パフォーマンスを向上させるためにこのクエリを書き換える方法はありますか?

ありがとうございます!

+0

「FirstName」列に索引を作成します。それは助ける! –

+0

"データベース/テーブルはインデックスを使用していません" - どうしてですか? –

+0

テーブルを作成せず、インデックスを使用していないことを通知されました。テーブルにインデックスを作成する権限がありません。だからこそ、インデックスを作成せずにより良いパフォーマンスを持つクエリを作成することが可能かどうか尋ねました。なぜ私の質問が下落されているのか分かりません。 – IRoveJS

答えて

0

は、それはあなたに同じ結果を与える必要があります... GROUP BYを削除

SELECT firstName, COUNT(*) as num_bob 
FROM DataTable 
WHERE firstName="bob"; 

を試してみてください。

0

あなたは

を試してみてください「(あなたの選択クエリ)としてテーブルを作成」​​し、これが選択通常よりも高速である。この表

を選択するよりもすることができます。

0

まず、グループ化が不要な場合は削除してください。必要な場合は、GROUP BYの代わりにDISTINCTおよびORDER BYを使用します。 this

ISOLATION LEVELを確認してください。それがSerializableの下にある場合、心配はありません。しかし、Datableに他のquiresを停止すると、パフォーマンスが向上します。

thisも参照してください。あなたはこれについて私は大丈夫だと思います。

関連する問題