2012-03-27 23 views
0

クエリがゆっくり走る最適化スロークエリ

SELECT AccountNumber, Currency, Balance 
FROM clients 
    JOIN balances ON clients.AccountNumber= balances.AccountNumber 
WHERE date > “2009-01-01” 

次のMySQL文を考えてみましょう、あなたがこの問題を解決しようとする試みでどうなるのか説明してください。

+1

インデックスとデータボリュームは何ですか? –

+0

テーブルにCREATE TABLE ...を表示してください。 – Devart

+0

詳細情報が必要な場合は – bernie

答えて

1

をインデックスを使用します。

SELECT C.AccountNumber, C.Currency, B.Balance FROM clients C INNER JOIN balances B ON C.AccountNumber=B.AccountNumber WHERE C.date > “2009-01-01” 

(私が想定していますテーブルのバランスからバランスフィールド)

0

これを試してみてください日付列に

create index yourIndex on yourTable (date DESC); 
+0

dasblinkenlightのコメントを見る!! –

+0

アプリケーションが3年しかリリースされておらず、すべてのレコードの日付が2009年1月1日を超えているとします。 – APC

0

日にクラスタ化インデックスは、初心者のために良いです。これは、MySqlがクラスタ化インデックス(Sybase/SQL Server do)をサポートしていることを前提としています。