Оптимизировать медленный запрос - PullRequest
0 голосов
/ 27 марта 2012

Рассмотрим следующий оператор MySQL

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

Запрос выполняется медленно, опишите, что вы будете делать, пытаясь решить эту проблему.

Ответы [ 3 ]

1 голос
/ 27 марта 2012

Попробуйте это:

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 голосов
/ 21 апреля 2012

Кластерный индекс по дате хорош для начинающих. Это предполагает, что MySql поддерживает кластеризованные индексы (сервер Sybase / Sql делает).

0 голосов
/ 27 марта 2012

Использовать индекс по столбцу даты

create index yourIndex on yourTable (date DESC);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...