Поскольку все это MyISAM, вам нужно сосредоточиться на двух основных вещах:
КЛЮЧ КЛЮЧ
Основным механизмом кэширования является кеш ключей. Он кэширует только индексные страницы из файлов .MYI. Чтобы изменить размер кэша ключей, выполните следующий запрос:
SELECT CONCAT(ROUND(KBS/POWER(1024,IF(PowerOfTwo<0,0,IF(PowerOfTwo>3,0,PowerOfTwo)))+0.4999),
SUBSTR(' KMG',IF(PowerOfTwo<0,0,IF(PowerOfTwo>3,0,PowerOfTwo))+1,1)) recommended_key_buffer_size
FROM (SELECT LEAST(POWER(2,32),KBS1) KBS FROM
(SELECT SUM(index_length) KBS1 FROM information_schema.tables
WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql')) AA) A,
(SELECT 2 PowerOfTwo) B;
Это даст Рекомендованную настройку для MyISAM Key Cache (key_buffer_size) с учетом вашего текущего набора данных ( запрос будет ограничен рекомендацией 4G (4096M) ). Для 32-битной ОС 4GB - это предел. Для 64-разрядных, 8 ГБ.
Индексы FULLTEXT
Вам следует изменить список стоп-слов. Вы можете изменить стоп-слова, потому что MySQL не будет индексировать этот список из 643 слов . Попробуйте создать свой собственный список стоп-слов и изменить минимальную длину слова.
Шаг 1) Создайте собственный список стоп-слов. Вы можете добавить «a», «an» и «the».
echo "a" > /var/lib/mysql/custom_stopwords.txt<BR>
echo "an" >> /var/lib/mysql/custom_stopwords.txt<BR>
echo "the" >> /var/lib/mysql/custom_stopwords.txt
Шаг 2) Добавьте эти параметры в /etc/my.cnf
ft_min_word_len=2
ft_stopword_file=/var/lib/mysql/custom_stopwords.txt
Шаг 3) перезапуск службы mysql
Шаг 4) Создайте новые индексы FULLTEXT. Любые существующие индексы FULLTEXT перед перезапуском mysql должны быть переиндексированы.
Дайте этим идеям попробовать !!!