![]() |
|
Модераторы: skyboy |
![]()
|
|
| DmitryTs |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 22.3.2007 Где: Moscow Репутация: нет Всего: нет |
Есть массив значений из которого я составляю такой запрос:
всё бы ничего только при большом размере массива получаются ужасающие запросы.. типа..
А можно ли как-то сократить это запрос чтоб каждый раз не писать or? К примеру как-то передать В like сразу несколько значений?
Это сообщение отредактировал(а) skyboy - 14.12.2007, 19:58 |
||||||
|
|||||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
Нет, нельзя.
Непонятно, почему беспокоит размер запроса. Ты его руками набиваешь, что ли? Какая разница - через or, или не через or? по-моему, беспокоить должен не размер длины строки с запросом, а неоптимальность такого чудовищного количества like-ов |
|||
|
||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
можно перейти к inner join'y на временную таблицу. с distinct'ом или group by для удаления дубликатов. но это, пожалуй, ещё неоптимальнее, чем or'ы на like'ах. хотя, запрос, конечно, будет намного короче.
поддерживаю. DmitryTs, может, аргументируешь необходимость столь сложного поиска? может, лучше отказаться от такой гибкости в пользу скорости? |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |