mysql “база данных отбрасывания” занимает время — почему?

11
задан Joseph Daigle 29 September 2008 в 19:02
поделиться

3 ответа

Поэтому я не уверен Ответ Мэтта Рогиша поможет на 100%.

Проблема в том, что MySQL * имеет мьютекс (взаимоисключающую блокировку) вокруг открытие и закрытие таблиц, так что в основном это означает, что если таблица находится в процессе закрытия / удаления, нет других таблиц, которые нельзя открыть.

Это описано моим коллегой здесь: http://www.mysqlperformanceblog.com/2009/06/16/slow-drop-table/

Отличная стратегия уменьшения воздействия - использование файловой системы, такой как XFS.

Обходной путь уродливый. По сути, вы должны откусить все данные в таблицах, прежде чем отбрасывать их (см. Комментарий № 11 по ссылке выше).

13
ответ дан 3 December 2019 в 03:05
поделиться

Следующее прочь skaffman:

Измените свой my.cnf (и перезапустите MySQL) для включения:

innodb_file_per_table = 1

(http://mysqldba.blogspot.com/2006/12/innodbfilepertable.html)

Это даст выделенное хранилище файлов Ваших баз данных и вынимать его из общего пула. Это затем позволит Вам сделать, забавным вещам нравится, помещают таблицы/индексы в различные физические диски, чтобы еще больше разделить ввод-вывод и улучшают производительность.

Обратите внимание, что это не изменяет существующие таблицы; необходимо будет сделать работу для получения их в их собственном файле (http://capttofu.livejournal.com/11791.html).

10
ответ дан 3 December 2019 в 03:05
поделиться

По умолчанию все innodb базы данных в данной mysql установке сервера используют тот же физический пул файлов данных, таким образом, очевидно "база данных отбрасывания" могла влиять на базу данных B. Начиная с "база данных отбрасывания", вероятно, включит тяжелый reorgainsing innodb файлов данных, возможно, что это - операция блокирования, или из-за интенсивности операции, или дизайном.

Однако я думаю, что можно заставить каждую базу данных использовать различные физические файлы, хотя я не попробовал это сам, таким образом, необходимо будет выяснить специфические особенности для себя. При сбое этого затем Вы, возможно, должны использовать две различных установки mysql бок о бок на той же машине, которая является совершенно выполнимой.

6
ответ дан 3 December 2019 в 03:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: