Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2010, 10:12
Аватар для cuberboy
Профессор
Отправить личное сообщение для cuberboy Посмотреть профиль Найти все сообщения от cuberboy
 
Регистрация: 20.07.2009
Сообщений: 202

запрос подвисает :'(
таблица порядка 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)

пробывал делать алиес(думал косяк в названиях) не помогло
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2010, 11:35
Аватар для cuberboy
Профессор
Отправить личное сообщение для cuberboy Посмотреть профиль Найти все сообщения от cuberboy
 
Регистрация: 20.07.2009
Сообщений: 202

попробывал сделать запрос
select champ from sob where left(sob.time,10)='2010-10-20' group by champ

далее цикл по нему и второй запрос select champ from sob where champ=рез1

работает как надо за пару секунд. чтож такое братцы..вроде как запрос в цикле зло!!!!!!
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2010, 16:41
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

почитайте про join и поймете как ускорить
Ответить с цитированием
  #4 (permalink)  
Старый 20.10.2010, 18:30
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Цитата:
select champ from sob where champ in( select champ from sob where …
«Не верь в себя — верь в мою веру в тебя!»
— Камина, Гуррен-Лаганн
Ответить с цитированием
  #5 (permalink)  
Старый 20.10.2010, 21:54
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

subzey,
Гуррен Лаган?
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2010, 08:06
Аватар для cuberboy
Профессор
Отправить личное сообщение для cuberboy Посмотреть профиль Найти все сообщения от cuberboy
 
Регистрация: 20.07.2009
Сообщений: 202

select champ from sob
left join sob as q on q.champ=sob.champ and left(q.time,10)='2010-10-20'


это типа такой джоин? - пробывал, долго. циклом быстрее!!!!!!

не ясно фигли трудного взять в подзапросе и птом выбрать из главного..ох как не ясно :'((((

Последний раз редактировалось cuberboy, 21.10.2010 в 08:15.
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2010, 08:21
Аватар для cuberboy
Профессор
Отправить личное сообщение для cuberboy Посмотреть профиль Найти все сообщения от cuberboy
 
Регистрация: 20.07.2009
Сообщений: 202

Сообщение от DooMer Посмотреть сообщение
почитайте про join и поймете как ускорить
ой как лажанулся и веть пробывал тока криво, спасибо!!!!

а с IN почему не катит????что там за ограничение такое?
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2010, 17:31
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Что-то ближе к вечеру соображается все хуже. Чем
Цитата:
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(time,10)='2010-10-20' group by champ
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2010, 18:56
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

e1f,
Временем выполнения
Ответить с цитированием
  #10 (permalink)  
Старый 22.10.2010, 09:59
Аватар для cuberboy
Профессор
Отправить личное сообщение для cuberboy Посмотреть профиль Найти все сообщения от cuberboy
 
Регистрация: 20.07.2009
Сообщений: 202

e1f, в первом случае выведутся все записи у которых поле чамп хотя бы раз засветилось в указаную дату.

во втором только те записи у которых дата соответствует указанной.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос - ответ(VK,json) Slawaq Серверные языки и технологии 4 24.09.2010 23:28
Yahoo UI асинхронный POST запрос lisan AJAX и COMET 1 12.02.2010 12:57
Помогите подставить запрос. BMWSauber Events/DOM/Window 1 07.02.2010 22:13
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 11:44
HTTP запрос Itachi Общие вопросы Javascript 9 07.10.2008 18:06