оптимизация запроса - PullRequest
1 голос
/ 26 июня 2009

У меня есть таблица в базе данных, которая имеет 7 КБ плюс записи. У меня есть запрос, который ищет определенный идентификатор в этой таблице. (Идентификатор автоматически увеличивается)

запрос такой ->

select id,date_time from table order by date_time DESC;

этот запрос будет выполнять весь поиск по этим 7k + данным ....... в любом случае, я не могу оптимизировать этот запрос, чтобы поиск производился только по 500 или 1000 записям .... записи будут расти день ото дня, и мой запрос будет становиться все тяжелее и тяжелее. Есть предложения ?????

Ответы [ 2 ]

2 голосов
/ 26 июня 2009

Не знаю, пропустил ли я что-то здесь, но что не так с:

select id,date_time from table where id=?id order by date_time DESC;

и? Id - это номер идентификатора, который вы ищете ...

И, конечно, идентификатор должен быть основным индексом.

1 голос
/ 26 июня 2009

Если id уникален (возможно, ваш первичный ключ), то вам не нужно искать по date_time, и вы гарантированно получите только максимум одну строку.

SELECT id, date_time FROM table WHERE id=<value>;

Если id является не уникальным, то вы все равно используете тот же запрос, но вам нужно посмотреть на индексы, другие ограничения и / или кэширование вне базы данных, если запрос становится слишком медленным.

...