powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поиск данных
8 сообщений из 8, страница 1 из 1
поиск данных
    #33134427
_slip_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я делаю запрос вида:

Код: plaintext
select id,izdelie,category_izdelie,more_data_izdelie,koli_izdelii_zak_kl FROM zakaz WHERE izdelie LIKE '%$izdelieq%' OR category_izdelie LIKE '%$category_izdelieq%' OR more_data_izdelie LIKE '%$more_data_izdelieq%' OR koli_izdelii_zak_kl='$koli_izdelii_zak_kl'

mysql возвращает все что находит в базе, почему? может ли это быть потому что одно из условий OR пустое? как правильно задать запрос? Спасибо
...
Рейтинг: 0 / 0
поиск данных
    #33134430
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slip_я делаю запрос вида:

Код: plaintext
select id,izdelie,category_izdelie,more_data_izdelie,koli_izdelii_zak_kl FROM zakaz WHERE izdelie LIKE '%$izdelieq%' OR category_izdelie LIKE '%$category_izdelieq%' OR more_data_izdelie LIKE '%$more_data_izdelieq%' OR koli_izdelii_zak_kl='$koli_izdelii_zak_kl'

mysql возвращает все что находит в базе, почему? может ли это быть потому что одно из условий OR пустое? как правильно задать запрос? Спасибо
1. Вы уверены, что вы действительно хотите использовать запросы с условиями вида WHERE field LIKE '%pattern%'? Запросы с такими условиями не могут использовать индексы, а потому если в базе станет сколько-нибудь много этих "изделий"...
2. А зачем вы делаете запрос с пустыми условиями в OR?
...
Рейтинг: 0 / 0
поиск данных
    #33134438
_slip_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. для этого наверное нужно знать зачем нужен индекс :) А я не очень силен в этом...это как? где в мануале можно прочитать про это и зачем это нужно?
2. у меня есть 4ре поля по которым мне нужно искать, какие то из них могут быть не заполнены из за отсутствия информации но мне нужно послать это все одним запросом в любом случае даже если поля не заполнены...
...
Рейтинг: 0 / 0
поиск данных
    #33134446
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Индексы используются для ускорения поиска информации по заданным критериям. Если запрос не может использовать индексы, или нужные индексы не были построены в базе, MySQL приходится построчно сравнивать все записи с заданным критерием, что гораздо, зачастую на порядки медленнее.
2. Если некоторые поля условий не заполнены -- наверное, не стоит их включать в запрос? Уверен, формирование запроса, соответствующего заполненным условиям вполне под силу средствам того языка программирования, который используется.
Например, я считаю для такого формирования вполне уместна тернарная операция.
...
Рейтинг: 0 / 0
поиск данных
    #33134448
_slip_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DocAl1. Индексы используются для ускорения поиска информации по заданным критериям. Если запрос не может использовать индексы, или нужные индексы не были построены в базе, MySQL приходится построчно сравнивать все записи с заданным критерием, что гораздо, зачастую на порядки медленнее.
2. Если некоторые поля условий не заполнены -- наверное, не стоит их включать в запрос? Уверен, формирование запроса, соответствующего заполненным условиям вполне под силу средствам того языка программирования, который используется.
Например, я считаю для такого формирования вполне уместна тернарная операция.

1. Какой запрос был бы правильный с использованием индексов?
2. Да, согласен, просто хотел сделать средствами MySQL
...
Рейтинг: 0 / 0
поиск данных
    #33134450
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. А что точно нужно от запроса?
2. Вот неправильный подход, СУБД и так проблем хватает, ворочать здоровенные объёмы информации, чтоб ещё путать её хитровывернутыми запросами.
...
Рейтинг: 0 / 0
поиск данных
    #33134454
_slip_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DocAl1. А что точно нужно от запроса?
2. Вот неправильный подход, СУБД и так проблем хватает, ворочать здоровенные объёмы информации, чтоб ещё путать её хитровывернутыми запросами.

1. не точный поиск (LIKE) информации по полю таблицы
2. =) учтем на будующее
...
Рейтинг: 0 / 0
поиск данных
    #33134488
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... Советую почитать про полнотекстовый поиск, вероятней всего, это то что тут на самом деле нужно.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поиск данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]