Подскажите по запросу MySQL

12
Allality
На сайте с 15.05.2010
Offline
75
#11
Sano000:

Если же инициировать запрос будет ваш скрипт при загрузке определенных страниц сайта, то в таком случае проблем с производительностью не избежать. Лучше или отказаться от задуманного, либо получше продумать и перестроить структуру БД, либо создать специальные служебные таблицы с индексами и искать в них по средством '=', а не 'like'.

Запрос создает скрипт. Можно ли использовать = вместо LIKE в примере выше? В принципе будет искаться только точное совпадение, поэтому логически LIKE не нужен...

Sano000
На сайте с 12.04.2009
Offline
54
#12
Allality:
Запрос создает скрипт. Можно ли использовать = вместо LIKE в примере выше? В принципе будет искаться только точное совпадение, поэтому логически LIKE не нужен...

http://myitforum.com/cs2/blogs/jnelson/archive/2007/11/16/108354.aspx

вот хотя бы ссылка на тест скорости выполнения like и =. Особенно обратите внимание на что скорость like с поиском внутри строки практически на два порядка медленнее. Так что если есть возможность использовать = - используйте его. А на счет разбивать - не разбивать тут лучше провести тест конкретно для данного случая. Мне кажется что все таки лучше разбить, и сформировать поиск в порядке большей вероятности нахождения запроса. Для больших таблиц будет выигрыш в скорости, но опять же простой тест на реальной базе покажет какой способ лучше.

Программирование было хобби - стало серьезной работой
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий