здесь у нас есть x64 Debian Lenny с MySQL 5.1.47 и несколько баз данных InnoDB. Файлы ibdata и другие файлы находятся в одной файловой системе (ext3). Я заметил, что в некоторых ситуациях в списке процессов MySQL много процессов, которые висят в состоянии «освобождение элементов». Это происходит, когда я делаю следующее на оболочке (file1 и file2 - около 2,5 ГБ)
cat file1 file2 >new_file
или выполните следующую инструкцию SQL
SELECT 'name' AS col UNION SELECT col FROM db_name.table_name INTO OUTFILE ('/var/xxx/yyy')
Когда выполняется одна из этих двух вещей, я вижу, что многие процессы MySQL работают бесконечно с состоянием «освобождения элементов» (я использую innotop). При завершении этого процесса оболочки (или оператора SQL) эти заблокированные транзакции исчезают.
В интернете я нашел несколько подсказок для отключения адаптивного хеш-индекса InnoDB и общего кеша запросов, но это не помогает. Есть ли кто-то, кто имеет такой же опыт?
Привет