запрос подвисает :'(
таблица порядка 40 000 записей
имеет 19 полей, из них айди ключик, поле champ проиндексировано. делаю запрос к таблице select champ from sob where left(sob.time,10)='2010-10-20' group by champ всё нормально делается за 0,0010 сек но мне надо select champ from sob where champ in( select champ from sob where left(sob.time,10)='2010-10-20' group by champ) пробывал делать алиес(думал косяк в названиях) не помогло |
попробывал сделать запрос
select champ from sob where left(sob.time,10)='2010-10-20' group by champ далее цикл по нему и второй запрос select champ from sob where champ=рез1 работает как надо за пару секунд. чтож такое братцы..вроде как запрос в цикле зло!!!!!! |
почитайте про join и поймете как ускорить
|
Цитата:
— Камина, Гуррен-Лаганн |
subzey,
Гуррен Лаган? |
select champ from sob
left join sob as q on q.champ=sob.champ and left(q.time,10)='2010-10-20' это типа такой джоин? - пробывал, долго. циклом быстрее!!!!!! не ясно фигли трудного взять в подзапросе и птом выбрать из главного..ох как не ясно :'(((( |
Цитата:
а с IN почему не катит????что там за ограничение такое? |
Что-то ближе к вечеру соображается все хуже. Чем
Цитата:
Цитата:
|
e1f,
Временем выполнения |
e1f, в первом случае выведутся все записи у которых поле чамп хотя бы раз засветилось в указаную дату.
во втором только те записи у которых дата соответствует указанной. |
Часовой пояс GMT +3, время: 05:09. |