クエリがゆっくり走る最適化スロークエリ
SELECT AccountNumber, Currency, Balance
FROM clients
JOIN balances ON clients.AccountNumber= balances.AccountNumber
WHERE date > “2009-01-01”
次のMySQL文を考えてみましょう、あなたがこの問題を解決しようとする試みでどうなるのか説明してください。
クエリがゆっくり走る最適化スロークエリ
SELECT AccountNumber, Currency, Balance
FROM clients
JOIN balances ON clients.AccountNumber= balances.AccountNumber
WHERE date > “2009-01-01”
次のMySQL文を考えてみましょう、あなたがこの問題を解決しようとする試みでどうなるのか説明してください。
をインデックスを使用します。
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”
(私が想定していますテーブルのバランスからバランスフィールド)
これを試してみてください日付列に
create index yourIndex on yourTable (date DESC);
dasblinkenlightのコメントを見る!! –
アプリケーションが3年しかリリースされておらず、すべてのレコードの日付が2009年1月1日を超えているとします。 – APC
日にクラスタ化インデックスは、初心者のために良いです。これは、MySqlがクラスタ化インデックス(Sybase/SQL Server do)をサポートしていることを前提としています。
インデックスとデータボリュームは何ですか? –
テーブルにCREATE TABLE ...を表示してください。 – Devart
詳細情報が必要な場合は – bernie