Пытаюсь загнать БД MySql в оперативку серва

123
iOweYouNothing
На сайте с 08.01.2011
Offline
198
#11

netwind, огромнейшее вам спасибо. вы дали мне направление - я поколупался в коде. ДЛЕ на самом деле ищет по LIKE. Я ручками переписал поиск на MATCH.... AGAINST.

Поиск начал в 3 раза быстрее работать.

вот что было:

short_story LIKE '%{story}%' OR full_story LIKE '%{story}%' OR xfields LIKE '%{story}%' OR title LIKE '%{story}%'

по полям short_story,full_story,xfields,title есть FULLTEXT индекс, который разработчики ДЛЕ изначально сделали, но не используют по каким-то причинам в поиске.

а вот что я сделал:

MATCH (short_story,full_story,xfields,title) AGAINST ('{story}')

поправьте меня - это ведь фактически эквивалентные запросы?

N
На сайте с 06.05.2007
Offline
419
#12

535i, у вас какой-то неправильный DLE либо вы не умеете искать. Это поведение переключается нажатием кнопочек в админке.

Кнопка вызова админа ()
iOweYouNothing
На сайте с 08.01.2011
Offline
198
#13
netwind:
неправильный DLE

скорее всего.

админка мне чужда - я ручками в коде привык ковыряться.

скажем так - я облазил /engine/modules/search.php и не нашел там ниодного MATCH - только LIKE.

N
На сайте с 06.05.2007
Offline
419
#14

535i,или не умеете искать : engine/ajax/find_relates.php , engine/modules/fullsearch.php, engine/modules/show.full.php

iOweYouNothing
На сайте с 08.01.2011
Offline
198
#15

хы... и даже неподумал. и на старуху бывает проруха :) (engine/modules/fullsearch.php)

спасибо в любом случае - задача решена: переделан ручками engine/modules/search.php (так надо чтоб именно он).

rtyug
На сайте с 13.05.2009
Offline
263
#16

netwind, еще можно попробовать конфиг my.cnf оптимизировать, выделить больше памяти под ключи т.д. ?

Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
M
На сайте с 16.09.2009
Offline
278
#17

rtyug, чукча не читатель?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
N
На сайте с 06.05.2007
Offline
419
#18

rtyug, fulltext все тот же key_buffer использует, значит можно.

iOweYouNothing
На сайте с 08.01.2011
Offline
198
#19
rtyug:
ожно попробовать конфиг my.cnf оптимизировать, выделить больше памяти под ключи

это однозначно и в первую очередь.

НО: если поиск идет через LIKE %...% - ключи практически не помогут. Они используются при поиске только с MATCH...AGAINST

vitroot
На сайте с 16.12.2010
Offline
22
#20
НО: если поиск идет через LIKE %...% - ключи практически не помогут. Они используются при поиске только с MATCH...AGAINST

Они капризны и к MATCH...AGAINST, в особенности, если в WHERE будете указывать кучу критериев выборки.

а вот что я сделал:
PHP код:
MATCH (short_story,full_story,xfields,title) AGAINST ('{story}')

Зачемв запросе указывать поле xfields? Тот же title там не очень нужен, поскольку он практически в неизменном виде встречается в short_story.

Неужели текст short_story у вас отсутствует в full_story? Это редкость :) Но крайне полезная редкость, которой в будущем все говорят "огромное спасибо!" :)

Но вот перебор дополнительно по title может сделать запрос очень дорогим

Администратор Linux, FreeBSD (http://pro.vitroot.ru) Skype: vit190685
123

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