|
MySQL.RU - Webboard
Вернуться
Оптимальный запрос. (Po4emu4ka) 28/01/2013 - 17:31:21
Re: Оптимальный запрос. (Akina) 28/01/2013 - 18:57:28
From: Po4emu4ka - 28/01/2013 - 17:31:21
Subject:Оптимальный запрос.
-----------------
Всем привет! Тут такая ситуация.
Есть две таблички. В одной хранятся активные сессии пользователей. (active, примерно 100 тыс. записей). Во второй - архив закрытых сессий. (arch, 100 млн. записей). Полей в табличке много, но нам потребуются всего два.
username и start_time.
Мне нужно составить наиболее оптимальный запрос, который бы выбрал "провисшие" сессии из active, чтобы их потом удалить.
SELECT active.username, active.start_time
FROM active, arch WHERE (active.username=arch.username) AND (active.start_time < arch.start_time) ;
явно не оптимален, т.к. выдаст все записи из архива, в которых username совпадает, а время начала сессии - больше и будет долго выполняться. Если врубать distinct - то селект долго выполняется. Нужно как можно более оптимальное решение. Может у кого-то будут идеи?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
42095
|
|