Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> насколько длинный запрос может быть 
:(
    Опции темы
bars80080
Дата 14.12.2010, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



вот есть, к примеру такой запрос:

Код

SELECT * FROM `table` WHERE `id` IN (6,9,14,15,17,20,26) ORDER BY FIELD(`id`, 6,9,14,15,17,20,26) DESC LIMIT 0, 40

со временем из-за перечисления идентификаторов он может серьёзно вырасти в длине. насколько длинным позволяется быть запросу?
PM MAIL WWW   Вверх
triclosan
Дата 14.12.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: 1
Всего: 12



для оператора IN - 1000 шт 
PM MAIL   Вверх
Akina
Дата 14.12.2010, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



LIMIT 0, 40 тоже будет меняться? 



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bars80080
Дата 14.12.2010, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



Цитата(Akina @  14.12.2010,  15:46 Найти цитируемый пост)
LIMIT 0, 40 тоже будет меняться? 

в пределах 10 - 50

Добавлено через 1 минуту и 40 секунд
думаете стоит задумать механизм нарезки? чтобы в IN (...) шли только на необходимые номера?
PM MAIL WWW   Вверх
Akina
Дата 14.12.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(bars80080 @  14.12.2010,  18:05 Найти цитируемый пост)
думаете стоит задумать механизм нарезки? чтобы в IN (...) шли только на необходимые номера? 

Несомненно!



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bars80080
Дата 14.12.2010, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



ок
PM MAIL WWW   Вверх
Akina
Дата 14.12.2010, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Впрочем, всё зависит от того, как и откуда получается этот список. Если он тянется с сервера предыдущим запросом - то надо думать, нет ли возможности остаться на сервере и не переть их на клиента, а если формируется локально, пусть и программно. пусть и на базе результата предыдущего запроса, и эта логика не выбрасывается на сервер - то, конечно, есть великий смысл отправлять серверу на исполнение список только нужных ИДов.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bars80080
Дата 14.12.2010, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



это поиск. пользователь набирает в форме некоторую комбинацию полей фильтрации и сортировки, отправляет на сервер, по базе находятся записи удовлетворяющие условию.
и тут возникает момент, что записей может быть несколько сотен, а то и тысяч, выводить их все сразу на страницу - не резон. с другой стороны поиск в таблице на миллион записей (ориентировочное число) при кудрявых условиях (возможно будут всякие LIKE, но это уже другая история) затребует существенных ресурсов от процессора и времени.
тогда мы записываем в специальную таблицу результат выборки (список идентификаторов), и перекидываем пользователя на просмотр результатов.
дальше он просто ходит по готовому списку
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.