Поиск с Select ... Like '%str%' (db: Mysql)

  • Автор темы KudesniK
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

KudesniK

#1
У меня есть таблица с большим количеством записей. Необходимо сделать следующее
SELECT *
FROM table_name
WHERE field LIKE '%text%'

Я так понимаю что индексы оно не использует. Но вот странно что первый поиск проходит за секунд 40 а то и больше а последующие другие поиски с различным значением "text" уже мгновенные, Но через некоторое врея все повторяется (видимо таблица выгружается). А как сделать, что бы этот запрос всегда быстро отрабатывал (т.е. таблица не выгружалась). Какой параметр в mysql за это отвечает.

Вот мой my.ini:
Код:
[client]
port=3306
default-character-set=cp1251

[mysqld]
port=3306
basedir="<...>"
datadir="<...>"
default-character-set=cp1251
default-storage-engine=MYISAM
max_connections=100
query_cache_size=48M
table_cache=256
tmp_table_size=48M
thread_cache_size=8

myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=52M
key_buffer_size=72M
read_buffer_size=64K
read_rnd_buffer_size=256K

sort_buffer_size=256K
 
B

Barmutik

#2
Судя по всему никакой... это нормальный процесс когда в память поднимаются страницы данных к которым Вы обращаетесь в текущий момент, а неиспользуемые удаляются....
 
Статус
Закрыто для дальнейших ответов.