[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запрос с выборкой максимального значения
zvezda_t
здравствуйте, уважаемые программисты!
Пожалуйста, научите меня писать быстрые запросы!!!

Есть запрос для извлечения последней записи пользователя( у пользователя может быть несколько записей, а может и не быть, но вывести нужно всех пользователей).

Есть две таблицы:
1)Users
-----
id
....

2)recording
-----
id
id_user
record

Мой запрос:
Select * FROM dbo.users
LEFT OUTER JOIN
dbo.recording ON dbo.recording.id =
(
SELECT MAX(id) AS Expr11
FROM dbo.recording
WHERE (id_user = dbo.users.id))

Выполняется минуту, для 6000 пользователей, как можно его переделать, чтоб ускорить время выполнения?



Спустя 6 минут, 34 секунды (9.12.2010 - 13:48) sergeiss написал(а):
Индексы есть по полям dbo.recording.id И dbo.users.id?

Спустя 17 минут, 42 секунды (9.12.2010 - 14:05) zvezda_t написал(а):
Цитата
Индексы есть по полям dbo.recording.id И dbo.users.id?

нету

Спустя 25 минут, 46 секунд (9.12.2010 - 14:31) sergeiss написал(а):
Ну так сделай!!! smile.gif Это был не праздный вопрос, а "вопрос-намёк". Для того, чтобы выборки делались быстро, нужны индексы по полям, используемым в этой выборке. И это не единственное, что надо сделать. Но это то, с чего надо начать.


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.