Возникла проблема с с базой. Симптомы следующие:
Имеется таблица MyISAM, размер 6Гб, 9млн 500тыс записей. Структура таблицы:
Код: Выделить всё
CREATE TABLE `frases` (
`fid` int(11) NOT NULL AUTO_INCREMENT,
`key` varchar(32) NOT NULL,
`lema` varchar(512) NOT NULL,
`frase` varchar(512) NOT NULL,
`time` datetime NOT NULL,
`nf` varchar(512) DEFAULT NULL,
`show` int(11) DEFAULT '-1',
`site_list` text NOT NULL,
`direct` varchar(2048) DEFAULT NULL,
`site_cat` varchar(10000) DEFAULT NULL,
PRIMARY KEY (`fid`),
UNIQUE KEY `key` (`key`)
) ENGINE=MyISAM AUTO_INCREMENT=41316431 DEFAULT CHARSET=cp1251
На сервере 8Гб оперативной памяти.
Настройки MySQL:
[code]
table_open_cache = 1000
query_cache_size = 1024M
query_cache_limit = 32M
read_rnd_buffer_size = 32M
sort_buffer_size = 512M
key_buffer_size = 2048M
tmp_table_size = 64M
max_heap_table_size = 64M
thread_cache_size = 128
innodb_buffer_pool_size = 2048M
max_allowed_packet = 16M
concurrent_insert = 2
myisam_stats_method = nulls_equal
key_cache_division_limit = 75
optimizer_search_depth=10
Обычно к таблице параллельно обращаются обращаются ~15 скриптов. Некоторые делают аналогичные выборки с другими значениями `key`, некоторые делают Insert и Update таблицы frases. Зависший запрос не получается остановить командой kill.
Может кто помочь разобратся или направить в нужное русло.