[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ускорение выполнения Select
MailRes
Ребята, привет!)

У как select'ом искать до первого совпадения?

$query = "select * from table where kolonka1 like '$perem'";


По этому запросу, я так понимаю, что в таблице table начинаем искать значение в колонке kolonka1, которое равно значению переменной $perem, и при таком поиске перебирается вся таблица в не зависимости нашлось ли значение в первых строках, либо в последних.

Как сделать, чтобы после первого совпадения запрос перестал продолжать искать по оставшейся части таблицы?

p.s. Но опять же есть минусы, если вдруг в таблице в колонке kolonka1 будет 2 или более одинаковых значения и они будут нужны, тогда вариант до поиска первого совпадения отпадает.

Главный вопрос: как оптимизировать запрос? только ждать пока выполнится?
Ладно когда в таблице 10-100 строк (ищется моментально), а когда строк будет больше, например, 100 000, то будет очень долго... (((
chee
Цитата (MailRes @ 15.06.2015 - 20:22)
Ладно когда в таблице 10-100 строк (ищется моментально), а когда строк будет больше, например, 100 000, то будет очень долго... (((

не будет. Если будет то индексы, строгой сравнивание и полнотекстовый поиск тебе помогут wink.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
MailRes
Увы - практика показывает другое((
Есть таблицы от 1000 до 30000 строк - быстро ищется, а есть одна таблица с около 500 000 строк, так поиск по ней происходит гораздо дольше...

Oyeme
Используйте sphinx wink.gif
Invis1ble
Цитата (MailRes @ 15.06.2015 - 19:22)
kolonka1

Цитата (MailRes @ 15.06.2015 - 19:22)
$perem

Цитата (Oyeme @ 15.06.2015 - 20:54)
Используйте sphinx
AllesKlar
:blink: так этого... того же...
$query = "select * from table where kolonka1  = '$perem' LIMIT 0,1";


_____________
[продано копирайтерам]
Slavok47
для оптимизации поиска, нужно использовать индексирование для полей, по которым будет производится поиск
http://www.mysql.ru/docs/man/MySQL_indexes.html
MailRes
Ушел читать про индексацию)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.