|
|
|
поиск данных
|
|||
|---|---|---|---|
|
#18+
я делаю запрос вида: Код: plaintext mysql возвращает все что находит в базе, почему? может ли это быть потому что одно из условий OR пустое? как правильно задать запрос? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 22:52 |
|
||
|
поиск данных
|
|||
|---|---|---|---|
|
#18+
_slip_я делаю запрос вида: Код: plaintext mysql возвращает все что находит в базе, почему? может ли это быть потому что одно из условий OR пустое? как правильно задать запрос? Спасибо 1. Вы уверены, что вы действительно хотите использовать запросы с условиями вида WHERE field LIKE '%pattern%'? Запросы с такими условиями не могут использовать индексы, а потому если в базе станет сколько-нибудь много этих "изделий"... 2. А зачем вы делаете запрос с пустыми условиями в OR? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 22:58 |
|
||
|
поиск данных
|
|||
|---|---|---|---|
|
#18+
1. для этого наверное нужно знать зачем нужен индекс :) А я не очень силен в этом...это как? где в мануале можно прочитать про это и зачем это нужно? 2. у меня есть 4ре поля по которым мне нужно искать, какие то из них могут быть не заполнены из за отсутствия информации но мне нужно послать это все одним запросом в любом случае даже если поля не заполнены... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 23:06 |
|
||
|
поиск данных
|
|||
|---|---|---|---|
|
#18+
1. Индексы используются для ускорения поиска информации по заданным критериям. Если запрос не может использовать индексы, или нужные индексы не были построены в базе, MySQL приходится построчно сравнивать все записи с заданным критерием, что гораздо, зачастую на порядки медленнее. 2. Если некоторые поля условий не заполнены -- наверное, не стоит их включать в запрос? Уверен, формирование запроса, соответствующего заполненным условиям вполне под силу средствам того языка программирования, который используется. Например, я считаю для такого формирования вполне уместна тернарная операция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 23:24 |
|
||
|
поиск данных
|
|||
|---|---|---|---|
|
#18+
DocAl1. Индексы используются для ускорения поиска информации по заданным критериям. Если запрос не может использовать индексы, или нужные индексы не были построены в базе, MySQL приходится построчно сравнивать все записи с заданным критерием, что гораздо, зачастую на порядки медленнее. 2. Если некоторые поля условий не заполнены -- наверное, не стоит их включать в запрос? Уверен, формирование запроса, соответствующего заполненным условиям вполне под силу средствам того языка программирования, который используется. Например, я считаю для такого формирования вполне уместна тернарная операция. 1. Какой запрос был бы правильный с использованием индексов? 2. Да, согласен, просто хотел сделать средствами MySQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 23:31 |
|
||
|
поиск данных
|
|||
|---|---|---|---|
|
#18+
1. А что точно нужно от запроса? 2. Вот неправильный подход, СУБД и так проблем хватает, ворочать здоровенные объёмы информации, чтоб ещё путать её хитровывернутыми запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 23:36 |
|
||
|
поиск данных
|
|||
|---|---|---|---|
|
#18+
DocAl1. А что точно нужно от запроса? 2. Вот неправильный подход, СУБД и так проблем хватает, ворочать здоровенные объёмы информации, чтоб ещё путать её хитровывернутыми запросами. 1. не точный поиск (LIKE) информации по полю таблицы 2. =) учтем на будующее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 23:54 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33134454&tid=1853910]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 428ms |

| 0 / 0 |
