WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Эти термины обычно используются в информации о сервере базы данных MySQL.
Этот глоссарий порожден как ссылка для терминологии о механизме хранения
InnoDB и большинстве определений в MySQL. Метаданные для таблиц ARCHIVE.
Файлы с этим расширением всегда включаются в резервные копии, произведенные
командой Не путать с файлами .ARM.
Данные для таблиц ARCHIVE. Файлы с этим расширением всегда включаются в
резервные копии, произведенные
командой Сокращение для atomicity, consistency, isolation и durability.
Эти свойства все желательны в системе базы данных и близко связаны с понятием
транзакции. Транзакционые особенности
Транзакции это атомные
единицы работы, которые могут быть переданы
или отменены. Когда транзакция производит
многократные изменения в базе данных, все изменения преуспевают, когда
транзакция передана, или все изменения отменены,
когда транзакция оменена. База данных остается в последовательном состоянии всегда
после каждой передачи или отмены и в то время, как транзакции происходят.
Если связанные данные обновляются через многократные таблицы, запросы видят
или все старые значения или все новые значения, но не соединение
старых и новых значений. Транзакции защищены (изолированы) друг от друга в то время, как они
происходят: они не могут вмешаться друг в друга или видеть нейтральные данные
друг друга. Эта изоляция достигнута через механизм
блокировки. Опытные пользователи могут
скорректировать уровень изоляции,
балансируя между меньшим количеством защиты в пользу увеличенной работы и
параллелизма, когда они могут убедиться, что
транзакции действительно не вмешиваются друг в друга. Результаты транзакций длительны: как только транзакция передана,
произведенные изменения защищены от перебоев в питании, системных
катастрофических отказов или других потенциальных опасностей. Длительность,
как правило, вовлекает запись на диск с определенным количеством
избыточности, чтобы защитить от перебоев в питании или катастрофических
отказов программного обеспечения. В См. atomic,
commit,
concurrency,
doublewrite buffer,
isolation level,
locking,
rollback,
transaction. Алгоритм для InnoDB, который сглаживает
скачки ввода/вывода из-за контрольных точек.
Вместо того, чтобы сбросить все измененные
страницы из
буферного пула в
файлы данных сразу, MySQL
периодически сбрасывает маленькие наборы измененных страниц. Адаптивный
алгоритм расширяет этот процесс, оценивая оптимальный уровень этих
периодических сбросов, основанный на уровне сброса вообще и том, как быстро
произведена информация redo. См. buffer pool,
checkpoint,
data files,
flush,
InnoDB,
page,
redo log. Оптимизация для Хеш-индекс всегда создается основанный на существующем
вторичном индексе В MySQL 5.6 и выше другой способ использовать в своих интересах быстрые
поиски единственного значения с См. B-tree,
buffer pool,
hash index,
memcached,
page,
secondary index. Сокращение от adaptive hash index. См. adaptive hash index
. Сокращение от asynchronous I/O.
Вы могли бы видеть этот акроним в сообщениях или
ключевых словах См. asynchronous I/O. Ряд функций или процедур. API обеспечивает устойчивый набор имен и
типов для функций, процедур, параметров и возвращаемых значений. Когда резервное копирование, произведенное MySQL
Enterprise Backup, не включает новые изменения, которые
произошли, в то время как резервное копирование было в стадии реализации,
процесс обновления резервных файлов, чтобы включить те изменения, известен
как применение. Это определено опцией
Прежде, чем изменения применены, мы именуем файлы как
сырое резервное копирование.
После того, как изменения применены, мы именуем файлы как
готовое резервное копирование.
Изменения зарегистрированы в файле ibbackup_logfile
, как только шаг применения закончен, этот файл
больше не необходим. См. hot backup,
ibbackup_logfile,
MySQL Enterprise Backup
, prepared backup,
raw backup. Тип работы ввода/вывода, которая позволяет другой обработке
продолжаться перед завершением ввода/вывода. Также известный как
неблокирующий ввод/вывод и
AIO. Исторически См. buffer pool,
non-blocking I/O. В SQL транзакции это
единицы работы, которые сделаны полностью (когда переданы
) или не имеют никакого эффекта вообще (когда
отменены). Неделимое ("атомное") свойство
транзакций это "A" в сокращении ACID. См. ACID,
commit,
rollback,
transaction. Специальные инструкции, обеспеченные центральным процессором, чтобы
гарантировать, что критические низкоуровневые операции не
могут быть прерваны. Свойство столбца таблицы (определенное ключевым словом
Это экономит работу разработчика, чтобы не надо было произвести новые
уникальные значения, вставляя новые строки. Это обеспечивает полезную
информацию для оптимизатора запроса, потому что столбец, как известно,
является не нулем и с уникальными значениями. Значения такого столбца могут
использоваться в качестве ключей поиска в различных контекстах, и потому что
они самозарождены нет никакой причины когда-либо изменить их, по этой причине
столбцы первичного ключа часто определяются как auto-increment. Auto-increment могут быть проблематичными с основанной на запросе
репликацией, потому что переигрывание запросов на ведомом устройстве не могло
бы произвести тот же самый набор значений столбцов, как на ведущем
устройстве, из-за проблем синхронизации. Когда у Вас есть auto-increment
первичный ключ, Вы можете использовать основанную на запросе репликацию
только с установкой
См. auto-increment
locking,
innodb_autoinc_lock_mode
, primary key,
row-based replication,
statement-based replication. Удобство первичного ключа auto-increment
вовлекает некоторые пргоблемы с параллелизмом. В самом простом случае, если
одна транзакция вставляет значения в таблицу, любые другие транзакции должны
ждать, чтобы сделать их собственные вставки в ту таблицу так, чтобы строки,
вставленные первой транзакцией, получили последовательные значения первичного
ключа. Установка, которая вызывает передачу
после каждого запроса SQL. Этот режим не
рекомендуется для того, чтобы работать с
См. commit,
locking,
read-only transaction,
SQL,
transaction,
undo. Способность справиться и в случае необходимости оправиться от отказа
на узле, включая отказы MySQL, операционной системы или аппаратных средств и
деятельности обслуживания, которая может иначе вызвать время простоя.
Часто соединяемая с масштабируемостью,
как критические аспекты крупномасштабного развертывания. См. scalability. Структура данных дерева, которая популярна для использования в базе
данных. Структура сохранена сортированной всегда, включая быстрый поиск для
точных совпадений (равняется оператору) и диапазона (например, больше чем,
меньше чем и Поскольку у узлов B-дерева может быть много дочерних элементов, B-дерево
не то же самое, как двоичное дерево, которое ограничено 2 дочерними
элементами на узел. Отличается hash index, который доступен
только в Использование термина B-дерево предназначено как ссылка на общий класс
индексов. B-древовидные-структуры, используемые механизмами хранения MySQL,
могут быть расценены как разновидности из-за изощренности, не существующей в
классическом проекте B-дерева. Для соответствующей информации обратитесь к
разделу См. hash index. Идентификаторы в пределах запроса SQL должны быть заключены в кавычки,
используя символ обратной кавычки ( Много других систем базы данных используют двойные кавычки
( См. SQL. Процесс копирования некоторых или всех табличных данных и
метаданных от экземпляра MySQL для сохранности. Может также обратиться к
набору скопированных файлов. Это решающая задача для DBA. В MySQL физические резервные копии
выполнены MySQL Enterprise Backup и
логические резервные копии командой
Резервные копии далее классифицированы как
горячие,
теплые или
холодные в зависимости от того, насколько они
вмешиваются в нормальную работу базы данных. У горячих резервных копий есть
наименьшее количество вмешательства. См. cold backup,
hot backup,
logical backup,
MySQL Enterprise Backup
, mysqldump,
physical backup,
warm backup. Непроизведенный столбец таблицы, на котором базируется произведенный
сохраненный столбец или произведенный виртуальный столбец. Другими словами,
основной столбец это непроизведенный столбец таблицы, который является частью
определения произведенного столбца. См. generated column,
generated stored column
,
generated virtual column. Ранняя стадия в жизни программного продукта, когда это доступно только
для оценки, как правило, без определенного номера выпуска или числа меньше 1.
См. early adopter,
GA. Файл, содержащий отчет всех запросов, которые пытаются изменить
табличные данные. Эти запросы могут быть переиграны, чтобы
осовременить ведомые серверы в репликации
или осовременить базу данных после восстановления табличных данных из
резервной копии. Двоичное журналирование может быть выключено, хотя Oracle
всегда рекомендует включать, если Вы используете репликацию или
выполняете резервные копии. Вы можете исследовать содержание журнала или переиграть те запросы
при использовании
mysqlbinlog. См. раздел
6.4.4. Для полной информации о журнале см.
раздел 19.1.6.4.
Для MySQL Enterprise Backup
имя файла двоичного журнала и текущяя позиция в пределах файла это важные
детали. Чтобы сделать запись этой информации для главного сервера, беря
резервное копирование в контексте репликации, Вы можете определить
опцию До MySQL 5.0 подобная способность была известна как журнал обновления.
В MySQL 5.0 и выше двоичный журнал заменяет журнал обновления. См. binlog,
MySQL Enterprise Backup
, replication. Неофициальное название файла двоичного журнала
. Например, Вы могли бы видеть это сокращение, используемое в
обсуждениях на форуме или электронных письмах. См. binary log. Специальный режим полнотекстового поиска,
включенного См. full-text search. Часть системы, которая ограничена в размере или способности, которая
имеет эффект ограничения полной пропускной способности. Например, область
памяти могла бы быть меньшей, чем необходимо, доступ к единственному
необходимому ресурсу мог бы препятствовать тому, чтобы многие ядра
центрального процессора работали одновременно или ожидание дискового
ввода/вывода могло бы препятствовать тому, чтобы центральный процессор
работал на полную мощность. Удаление узких мест имеет тенденцию улучшать
параллелизм. Например, способность иметь много
копий буферного пула в См. buffer pool,
concurrency. Операция shutdown немедленно вызывает
перезапуск. Идеально с относительно коротким периодом
разминки так, чтобы работа и пропускная
способность быстро возвратились к высокому уровню. См. shutdown. Механизм для того, чтобы управлять разного размера
страницами в
буферном пуле InnoDB. См. buffer pool,
page,
page size. Память или дисковая область для временного хранения.
Данные буферизованы в памяти так, чтобы это могло быть написано на диск
эффективно, несколькими большими операциями ввода/вывода, а не многими
маленькими. Данные буферизованы на диске для большей надежности, чтобы это
могло быть восстановлено, даже когда катастрофический отказ
или другой отказ происходят в худшее время. Основные типы
буферов, используемых InnoDB, это буферный пул,
буфер doublewrite
и буфер изменения. Область памяти, которая хранит кэшируемые Несколько переменных состояния См. buffer pool instance
, LRU,
page,
warm up. Любая из многих областей, на которые
буферный пул может быть разделен, управляя
параметром конфигурации
См. buffer pool. Встроенный механизм хранения Это различие важно, главным образом, в MySQL 5.1, где особенность или
исправление ошибки могли бы относиться к InnoDB Plugin, но не к
встроенному Отношения и последовательности действий, которые формируют основание
программного обеспечения для бизнеса, чтобы выполнять коммерческую компанию.
Иногда эти правила диктует закон, другие определены политикой компании.
Осторожное планирование гарантирует, что отношения, закодированные и
проведенные в жизнь базой данных, и действиями, выполненными через логику
приложения, точно отражают реальную политику компании и могут
обработать реальные ситуации. Например, служащий, покидающий компанию, мог бы вызвать последовательность
действий отдела человеческих ресурсов. Базе данных человеческих ресурсов,
возможно, также понадобилась бы гибкость, чтобы представить данные о
человеке, который был нанят, но еще не начал работу. Закрытие учетной записи
в службе онлайн могло бы привести к данным, удаляемым из базы данных, или
данные могли бы быть перемещены или отмечены так, чтобы это могло быть
восстановлено, если учетная запись вновь открыта. Компания могла бы
установить политику относительно максимумов зарплаты, минимумов и
корректировок, в дополнение к основным проверкам, таким как зарплата, не
являющаяся отрицательным числом. Розничная база данных не могла бы позволить
покупке с тем же самым порядковым номером быть возвращенной не раз, или не
могла бы позволить покупки по кредитной карте выше определенного значения
в то время, как база данных, используемая, чтобы обнаружить мошенничество,
могла бы позволить эти виды вещей. См. relational. Метафайл с данными, используемый с Общий термин для любой области памяти, которая хранит копии данных
для частого или высокоскоростного извлечения. В См. buffer,
buffer pool. Число различных значений в столбце таблицы.
Когда запросы обращаются к столбцам, у которых есть связанный
индекс, количество элементов каждого столбца
влияет на то, какой метод доступа является самым эффективным. Например, для
столбца с уникальным ограничением,
число различных значений равно числу строк в таблице. Если у таблицы есть
миллион строк, но только 10 различных значений для особого столбца, каждое
значение происходит (в среднем) 100000 раз. Такой запрос, как
Если у значений в столбце есть очень неравное распределение, количество
элементов не могло бы быть хорошим способом определить лучший план запроса.
Например, Количество элементов может также относиться к числу отличных значений,
существующих в многих столбцах, как в
сводном индексе. См. column,
composite index,
index,
index hint,
persistent statistics,
random dive,
selectivity,
unique constraint. Специальная структура данных, которая делает запись изменений
страниц во
вторичных индексах.
Эти значения могли следовать из SQL-запросов
Изменения зарегистрированы в буфере изменения, только когда
соответствующая страница от вторичного индекса не находится в
буферном пуле. Когда соответствующая индексная
страница принесена в буферный пул в то время, как связанные изменения
находятся все еще в буфере изменения, изменения для той страницы применены в
буферном пуле, используя данные от буфера изменения. Периодически работа
очистки, которая работает в течение времени,
когда система главным образом неактивна, или во время медленного завершения
работы, пишет новые индексные страницы на диск. Работа чистки может написать
дисковые блоки для серии индексных значений более эффективно, чем если бы
каждое значение было немедленно написано на диск. Физически, буфер изменения это часть
системного табличного пространства,
так что индексные изменения остаются буферизованными через перезапуски базы
данных. Изменения применены, только когда страницы принесены в буферный пул
из-за некоторой другой работы чтения. Видами и объемом данных, сохраненных в буфере изменения, управляют опции
Прежде известен как буфер вставки. См. buffer pool,
change buffering,
delete buffering,
DML,
insert buffer,
insert buffering,
merge,
page,
purge,
purge buffering,
secondary index,
system tablespace. Общий термин для особенностей, вовлекающих буфер
изменения, состоящих из
буферизации вставки,
буферизации удаления и
буферизации очистки.
Индексные изменения, следующие из запросов SQL, которые могли обычно
вовлекать случайные операции ввода/вывода, задержаны и периодически
выполняются фоновым потоком. Эта
последовательность операций может написать дисковые блоки для серии
индексных значений более эффективно, чем если бы каждое значение было
немедленно написано. Управляется опциями
См. change buffer,
delete buffering,
insert buffering,
purge buffering. Поскольку изменения произведены в страницах данных, которые кэшируются
в буферном пуле, те изменения написаны в
файлы данных когда-то позже, выполняется
процесс, известный как сброс.
Контрольная точка это отчет последних изменений (представленный значением
LSN) которые были успешно
записаны в файлы с данными. См. buffer pool,
data files,
flush,
fuzzy checkpointing,
LSN. В innochecksum
помогает диагностировать проблемы повреждения, проверяя значения
контрольной суммы указанного файла табличного пространства
в то время, как сервер MySQL закрыт. MySQL также использует контрольные суммы в целях репликации, см. опции
См. buffer pool,
page,
tablespace. В отношениях внешнего ключа
дочерняя таблица это та, строки которой относятся к строкам в другой таблице
с идентичным значением для определенного столбца. Это таблица, которая
содержит См. foreign key,
parent table. Страница в буферном пуле
См. buffer pool,
data files,
dirty page,
flush,
page. Завершение работы, которое завершается
без ошибок и применяет все изменения таблиц См. crash,
fast shutdown,
shutdown,
slow shutdown. Тип программы, которая посылает запросы в
сервер и интерпретирует или обрабатывает
результаты. Клиентское программное обеспечение могло бы выполняться только
часть времени (например, почта или программа чата) или работать в
интерактивном режиме (например, процессор команд
mysql). Термин В Oracle Database этот тип таблицы известен как
index-organized table. См. index,
primary key,
secondary index. Резервное копирование в то время, как
база данных закрыта. Для занятых приложений и веб-сайтов это не могло бы быть
практично, и Вы могли бы предпочесть теплое резервное
копирование или горячее резервное копирование
. См. backup,
hot backup,
warm backup. Элемент данных в строке, хранение
которого и семантика определены типом данных. Каждая
таблица и индекс
в значительной степени определены набором столбцов, которые это содержит. У каждого столбца есть значение количества элементов
. Столбец может быть первичным ключом
для своей таблицы или частью первичного ключа. Столбец может
подвергнуться уникальному ограничению,
ограничению NOT NULL или обоим. Значения в
различных столбцах, даже через различные таблицы, могут быть соединены
отношениями внешнего ключа. В обсуждениях внутренних операций MySQL иногда область
используется в качестве синонима. См. cardinality,
foreign key,
index,
NOT NULL constraint,
primary key,
row,
table,
unique constraint. Индекс на единственном столбце. См. composite index,
index. Когда индекс создается со спецификацией
длины, такой как Для столбцов, содержащих двоичные значения или длинные текстовые строки,
где сортировка не главное соображение и хранение всего значения в индексе
потратило бы впустую пространство, индекс автоматически использует первые N
(как правило, 768) символов значения, чтобы сделать поиски и сортировки. См. index. Команда SQL, которая заканчивает
транзакцию, делая постоянными любые изменения,
произведенные транзакцией. Это противоположность
rollback, которая отменяет любые
изменения, произведенные в транзакции. По умолчанию MySQL использует autocommit,
которая автоматически передает после каждого запроса SQL. См. autocommit,
optimistic,
rollback,
SQL,
transaction. Формат строки для InnoDB.
Это был формат строки по умолчанию от MySQL 5.0.3 до MySQL 5.7.8. В MySQL
8.0 формат строки по умолчанию определен опцией
См. раздел 16.10.4.
См. dynamic row format,
file format,
redundant row format,
row format. Индекс, который включает много столбцов.
См. index. Особенность сжатия MySQL Enterprise Backup
делает сжатую копию каждого табличного пространства, изменяя
расширение с Ряд файлов, произведенных MySQL Enterprise Backup
, где каждое табличное пространство
сжато. Сжатые файлы переименованы с расширением файла Применение сжатия в начале резервного
процесса помогает избежать издержек хранения во время процесса сжатия и
передавая резервные файлы другому серверу. Процесс
применения двоичного журнала
занимает больше времени и требует
несжатых резервных файлов. См. apply,
binary log,
compression,
hot backup,
MySQL Enterprise Backup
, tablespace. Формат строки, который включает данным и
индексам сжатие для См. раздел 16.10.3. Таблица, для которой данные хранятся в сжатой форме. Для
Особенность со всесторонней выгодой от использования меньшего
количества дискового пространства, выполнения меньшего количества
ввода/вывода и использования меньшей памяти для того, чтобы кэшировать. Другой тип сжатия это сжатая резервная копия
в MySQL Enterprise Backup. См. buffer pool,
compressed backup,
compressed row format,
DML,
transparent page compression. Не ошибка, скорее дорогая работа, которая может произойти, используя
сжатие в комбинации с операциями
DML. Это происходит, когда обновления сжатой
страницы переполняют области на странице,
для того, чтобы сделать запись модификаций, страница сжата снова, со всеми
изменениями, к которым относятся табличные данные, пересжатые данные не
помещаются на оригинальной странице, требуя, чтобы MySQL разделил данные на
две новых страницы и сжал каждую отдельно. Чтобы проверить частоту этого
условия, запросите таблицу
См. compression,
DML,
page. См.
composite index. Способность многократных операций (в терминологии базы данных,
транзакций) работать одновременно, не
вмешиваясь друг в друга. Параллелизм также связан с работой, потому что
идеально защита для многократных одновременных транзакций работает с
минимумом работы, используя эффективные механизмы для
того, чтобы заблокировать. См. ACID,
locking,
transaction.
Файл, который хранит значения опций,
используемых MySQL при запуске. Традиционно, в Linux и Unix этот файл
называют См. раздел 5.2.6. Когда Вы используете MySQL Enterprise Backup,
Вы как правило используете два конфигурационных файла: тот, который
определяет, куда данные прибывают и как это структурировано (который мог быть
оригинальным конфигурационным файлом для Вашего сервера), и упрощенный,
содержащий только маленький набор опций, которые определяют, куда резервные
данные идут и как это структурировано. Конфигурационные файлы, используемые с
MySQL Enterprise Backup, должны содержать
определенные опции, которые как правило упускаются из регулярных
конфигурационных файлов, таким образом, Вы, возможно, должны были бы добавить
опции к своему существующему конфигурационному файлу для использования с
MySQL Enterprise Backup. См. my.cnf,
MySQL Enterprise Backup
, option,
option file. Работа чтения, которая использует информацию
снимка, чтобы представить результаты запроса,
основанные на моменте времени, независимо от изменений, выполненных другими
транзакциями, работающими в то же самое время. Если запрашиваемые данные были
изменены другой транзакцией, оригинальные данные восстановлены, основываясь
на содержании журнала отмены. Этот метод
избегает некоторых из проблем блокировки,
которые могут уменьшить параллелизм, вынуждая
транзакции ждать завершения других транзакций. С уровнем изоляции REPEATABLE
READ снимок основан на времени, когда первая работа чтения
выполнена. С уровнем изоляции READ COMMITTED
снимок сброшен ко времени каждой последовательной работы чтения. Последовательное чтение это режим по умолчанию, в котором
См. раздел 16.5.2.3. См. concurrency,
isolation level,
locking,
READ COMMITTED,
REPEATABLE READ,
snapshot,
transaction,
undo log. Автоматический тест, который может заблокировать изменения базы
данных, чтобы препятствовать тому, чтобы данные стали непоследовательными. В
терминах информатики, своего рода утверждение, связанное с инвариантным
условием. Ограничения это решающий компонент ACID
, чтобы поддержать последовательность данных. Ограничения,
поддержанные MySQL, включают
ограничения FOREIGN KEY и
уникальные ограничения. См. ACID,
foreign key,
unique constraint. Значение, которое постепенно увеличено действием См. INFORMATION_SCHEMA,
metrics counter,
Performance Schema. Индекс, который включает все столбцы,
полученные запросом. Вместо того, чтобы использовать индексные значения в
качестве указателей, чтобы найти полные строки таблицы, запрос возвращает
значения из индексной структуры, сохраняя дисковый ввод/вывод.
Любой столбец индекса или
сводный индекс может действовать как
покрывающий индекс, учитывая правильный запрос. См. column index,
composite index,
index,
primary key,
secondary index. Тип нагрузки, где основное
узкое место это операции центрального
процессора с памятью. Как правило, вовлекает интенсивные действия чтения, где
все результаты могут кэшироваться в буферном пуле
. См. bottleneck,
buffer pool,
workload. MySQL использует термин "катастрофический отказ", чтобы
обратиться вообще к любой неожиданной ситуации завершения
работы, где сервер не может сделать своей нормальной уборки.
Например, катастрофический отказ мог произойти из-за ошибки аппаратных
средств на машине сервера базы данных или устройстве хранения данных, перебоя
в питании, потенциального несоответствия данных, которое заставляет сервер
MySQL останавливаться, быстрого завершения работы
, начатого DBA, или многих других причин. Автоматическое
восстановление катастрофического отказа для таблиц
InnoDB гарантирует, что данные сделаны
последовательными, когда сервер перезапущен, без любой
дополнительной работы DBA. См. crash recovery,
fast shutdown,
InnoDB,
shutdown. Действия уборки, которые происходят, когда MySQL запущен снова после
катастрофического отказа. Для таблиц
InnoDB изменения от неполных транзакций
переигрываются, используя данные журнала redo.
Изменения, которые были переданы перед
катастрофическим отказом, но еще не написаны в файлы с данными
, восстановлены от буфера doublewrite
. Когда база данных обычно закрывается, этот тип деятельности выполнен
во время завершения работы чистки. Во время нормального функционирования переданные данные могут храниться в
буфере изменения прежде, чем быть написанными
в файлы с данными. Всегда есть проблема между хранением современных файлов с
данными, что вводит издежрки во время нормального функционирования, и
буферизации данных, которые могут сделать завершение работы и восстановление
занимающими больше времени. См. change buffer,
commit,
crash,
data files,
doublewrite buffer,
InnoDB,
purge,
redo log. Сокращение от "create, read, update, delete", общая последовательность
операций в приложениях базы данных. Часто обозначает класс приложений с
относительно простым использованием базы данных (основной
DDL, DML и
запросы SQL),
который может быть осуществлен быстро на любом языке. Внутренняя структура данных, которая используется, чтобы представить
набор результатов запроса или другую работу,
которая выполняет поиск, используя параметр SQL Хотя SQL обычно обрабатывает обработку курсоров для Вас, Вы могли бы
копаться во внутренних работах, имея дело с критическим по
отношению к работе кодом. См. query. См. DDL. Метаданные, которые отслеживают объекты базы данных, такие как
таблицы,
индексы и
столбцы. Для словаря данных MySQL, введенного в
MySQL 8.0, метаданные физически расположены в
файлах табличного пространства Поскольку MySQL Enterprise Backup
всегда поддерживает системное табличное пространство См. column,
file-per-table,
.frm file,
index,
MySQL Enterprise Backup
, system tablespace,
table. Каталог, в соответствии с которым каждый
экземпляр MySQL сохраняет файлы с
данными для См. data files,
instance. Файлы, которые физически содержат данные таблицы
и индекса. Системное табличное пространство
Табличные пространства File-per-table, которые содержат данные для
одной таблицы Общие табличные пространства (введенные в MySQL 5.7.6), которые могут
содержать данные для многих таблиц См. data dictionary,
file-per-table,
general tablespace,
.ibd file,
ibdata file,
index,
system tablespace,
table,
tablespace. См. DML. Система базы данных или приложение, которое прежде всего выполняет
большие запросы. Данные только для чтения или
для чтения главным образом могли бы быть организованы в форме
denormalized для эффективности запроса. Может
извлечь выгоду из оптимизации для транзакций только для чтения
в MySQL 5.6 или выше. См. denormalized,
OLTP,
query,
read-only transaction
. В пределах каталога данных MySQL каждая
база данных представлена отдельным каталогом.
Системное табличное пространство,
которое может содержать табличные данные многих баз данных в пределах
экземпляра MySQL, сохранено в файлах с данными,
которые находятся за пределами отдельных каталогов базы данных. Когда режим
file-per-table включен, файлы
.ibd, представляющие таблицы InnoDB,
хранятся в каталогах базы данных если не создаются в другом месте
использованием Для давних пользователей MySQL база данных
знакомое понятие. Пользователи, происходящие из среды базы данных Oracle
Database, найдут, что значение базы данных MySQL ближе к тому, что
Oracle Database называет schema. См. data files,
file-per-table,
.ibd file,
instance,
schema,
system tablespace. Язык управления данных, ряд запросов SQL
для руководящих привилегий. В MySQL состоит из
Язык определения данных, ряд запросов
SQL для того, чтобы управлять базой данных
непосредственно, а не отдельными строками таблицы. Включает все формы
DDL автоматически передает текущую
транзакцию, запрос нельзя
отменить. См. commit,
DCL,
DML,
file-per-table,
rollback,
SQL,
transaction. Ситуация, где различные транзакции
неспособны продолжиться, потому что каждая держит блокировку
, нужную другой. Поскольку обе транзакции ждут ресурса, ни
одна никогда не будет выпускать блокировки, которые это держит. Тупик может произойти, когда транзакции блокируют строки в многократных
таблицах (через запрос вроде Для вводной информации о том, как тупики автоматически обнаружены и
обработаны см. раздел 16.5.5.2
. Для подсказок относительно ухода от тупика и восстановления от условий
тупика см. раздел 16.5.5.3
. См. gap,
lock,
transaction. Механизм, который автоматически обнаруживает, когда
тупик происходит, и автоматически отменяет
одну из вовлеченных транзакций
(жертву). Обнаружение тупика может быть
отключено, используя
См. deadlock,
rollback,
transaction,
victim. Когда Метод хранения изменений вторичных индексных страниц по результатам
См. change buffer,
change buffering,
insert buffer,
insert buffering,
purge buffering. Стратегия хранения данных, которая дублирует данные через различные
таблицы, вместо того, чтобы соединить таблицы с запросами
внешними ключами
join. Как правило, используется в приложениях
хранилища данных,
где данные не обновлены после загрузки. В таких приложениях работа запроса
более важна, чем поддержка последовательных данных во время обновлений. См. data warehouse,
foreign key,
join,
normalized. Тип индекса доступный с некоторыми
системами базы данных, где хранение оптимизировано, чтобы обработать
См. index. Кэш объекта словаря хранит объекты словаря данных
, к которым ранее получали доступ, в памяти, чтобы
позволить повторное использование объекта и минимизировать дисковый
ввод/вывод. LRU-стратегия используется, чтобы
вычеркнуть последние использованные объекты из памяти. Кэш состоит из
нескольких разделов, которое хранят различные типы объектов. См. раздел 15.4. См. data dictionary,
LRU. Страница в буферном пуле
См. buffer pool,
clean page,
data files,
flush,
page. Работа, которая получает ненадежные данные, которые были обновлены
другой транзакцией, но еще не переданы. Это
возможно только с уровнем изоляции, известным
как read uncommitted. Этот вид работы не придерживается ACID.
Это считают очень опасным, потому что данные могли быть
отменены или обновлены далее прежде, чем быть
переданными, тогда транзакция, делающая грязное чтение, использовала бы
данные, которые никогда не подтверждались как точные. См. ACID,
commit,
consistent read,
isolation level,
READ UNCOMMITTED,
rollback. Своего рода база данных, которая прежде всего организует данные по
дисковому хранению (жесткие диски или эквивалент). Данные переданы
между диском и памятью, которая будет управляться на. Это противоположность
in-memory database.
Хотя Тип нагрузки, где основное
узкое место это дисковый ввод/вывод. Также
известный как I/O-bound. Как правило, вовлекает
частые записи на диск или случайные чтения большого количества данных, чем
может вписаться в буферный пул. См. bottleneck,
buffer pool,
workload. Язык манипуляции данными, ряд запросов SQL
для того, чтобы выполнить операторы
Запросы DML для таблицы В полнотекстовом поиске
См. full-text search,
FULLTEXT index,
ilist. Хотя данные всегда пишутся дважды, буфер doublewrite не требует вдвое
большего количества ввода/вывода. Данные написаны в буфер непосредственно как
большой последовательный кусок одним вызовом Чтобы выключить буфер doublewrite, определите опцию
См. crash recovery,
data files,
page,
purge. Своего рода работа DDL, которая удаляет
объект схемы через такой запрос, как
См. buffer pool,
data dictionary,
DDL,
table,
truncate. Формат строки С MySQL 5.7.9 формат строки по умолчанию определен опцией
См. раздел 16.10.3. См. buffer pool,
file format,
row format. Этап, подобный бете, когда программный
продукт оценивается для работы, функциональности и совместимости в установке.
См. beta. Тип журнала
о запуске MySQL и критических ошибках во время выполнения и информации
о катастрофическом отказе. Для деталей см.
раздел 6.4.2. Процесс удаления элемента из кэша или другой временной области
хранения, такой как буферный пул.
Часто, но не всегда, использует алгоритм LRU,
чтобы определить, который элемент удалить. Когда грязная
страница вычеркнута, ее содержание
сброшено на диск, и любые грязные
соседние страницы могли бы сброситься также. См. buffer pool,
dirty page,
flush,
LRU,
neighbor page. Своего рода блокировка, которая
препятствует тому, чтобы любая другая транзакция
блокировала ту же самую строку. В зависимости от операционного
уровня изоляции этот вид блокировки мог бы
заблокировать другие транзакции на запись той же самой строки или
заблокировать другие транзакции от чтения той же самой строки. Значение по
умолчанию уровень изоляции См. concurrency,
consistent read,
isolation level,
lock,
REPEATABLE READ,
shared lock,
transaction. Группа страниц в пределах
табличного пространства. Для
размера страницы по умолчанию в 16 КБ экстент содержит 64
страницы. В MySQL 5.6 размер страницы для Поддержка размеров страниц 32 КБ и 64 КБ была добавлена в MySQL 5.7.6. Для
размера страницы 32 КБ размер экстента составляет 2 МБ. Для размера страницы
64 КБ размер экстента составляет 4 МБ. Такие особенности См. doublewrite buffer,
page,
page size,
read-ahead,
segment,
tablespace. Файл, содержащий метаданные, такие как табличное определение, таблицы
MySQL. Файлы См. data dictionary,
MySQL Enterprise Backup
, system tablespace. Способность сначала появилась в InnoDB Plugin, теперь это часть MySQL
5.5 и выше, которая ускоряет создание вторичных индексов
Поскольку обслуживание индекса может добавить работу
ко многим операциям передачи данных, выполнение таких операций, как
В MySQL 5.6 эта особенность становится более общей. Вы можете читать
и писать таблицы в то время, как индексирование создается, и делать еще много
видов См. InnoDB Fast Index Creation и
раздел 16.12. См. DML,
index,
online DDL,
secondary index. Процедура завершения работы
по умолчанию для См. crash recovery,
data files,
flush,
shutdown,
slow shutdown. Формат, используемый См. file-per-table,
.ibd file,
ibdata file,
row format. Общее название установки, которой управляет опция
При включении MySQL Enterprise Backup
более гибок для таблиц, которые находятся в их собственных файлах. Например,
таблицы могут быть исключены из резервного копирования, но только если они
находятся в отдельных файлах. Таким образом, эта установка является
подходящей для таблиц, которые поддерживаются менее часто
или в различном графике. См.
compressed row format,
compression,
file format,
.ibd file,
ibdata file,
innodb_file_per_table,
MySQL Enterprise Backup
, row format,
system tablespace. В индексе Этот формат строки используется См. compact row format,
row format. Запись изменения файлов базы данных, которые были буферизованы в
области памяти или временной дисковой области хранения.
Структуры хранения Сброс может произойти, потому что область памяти становится полной
и система должна освободить некоторое пространство, потому что
передача означает, что изменения от транзакции
могут быть завершены, или потому что
медленное завершение работы
означает, что вся невыполненная работа должна быть завершена. Когда не важно
сбросить все буферизованные данные сразу, См. buffer pool,
commit,
fuzzy checkpointing,
redo log,
slow shutdown,
undo log. Внутренняя структура данных См. buffer pool,
dirty page,
LRU,
mini-transaction,
mutex,
page,
page cleaner. Тип отношений указателя, между строками в отдельных таблицах
В дополнение к включению быстрого поиска соответствующей информации,
внешние ключи помогают провести в жизнь ссылочную целостность
, препятствуя любому из этих указателей стать недопустимым,
когда данные вставлены, обновлены и удалены. Этот механизм осуществления тип
ограничения. Строка, которая указывает на
другую таблицу, не может быть вставлена, если связанное значение внешнего
ключа не существует в другой таблице. Если строка удалена, или ее значение
внешнего ключа изменилось, и строки в другой таблице указывают на то значение
внешнего ключа, внешний ключ может быть настроен, чтобы предотвратить
удаление, заставить соответствующие значения столбцов в другой таблице
становиться null
или автоматически удалять соответствующие строки в другой таблице. Один из этапов в разработке нормализованной
базы данных должен идентифицировать данные, которые дублированы, выделить те
данные в новую таблицу и настроить отношения внешнего ключа так, чтобы
многократные таблицы могли быть запрошены как единственная таблица,
используя работу соединения. См. child table,
FOREIGN KEY constraint,
join,
normalized,
NULL,
parent table,
referential integrity,
relational. Тип ограничения, которое поддерживает
последовательность базы данных через отношения внешнего ключа
. Как другие виды ограничений, это может препятствовать тому,
чтобы данные были вставлены или обновлены, если данные стали бы
непоследовательными, в этом случае предотвращается несогласованность между
данными в многократных таблицах. Альтернативно, когда работа
DML выполнена, ограничения См. child table,
constraint,
DML,
foreign key,
NULL. В большинстве контекстов сокращение от full-text
search. Иногда в исполнительных обсуждениях сокращение для
full table scan. Резервное копирование, которое включает
все таблицы в каждой
базе данных MySQL и все базы данных в
экземпляре MySQL. См. backup,
database,
instance,
partial backup,
table. Работа, которая требует чтения всего содержания таблицы, а не только
выбранных частей, используя индекс.
Как правило, выполняется с маленькими таблицами поиска или в ситуациях со
складированием данных в больших таблицах, где все доступные данные соединены
и проанализированы. Как часто эти операции происходят и размеры таблиц
относительно доступной памяти, имеет значение для алгоритмов, используемых в
оптимизации запроса и управлении буферным пулом
. Цель индексов это позволить поиски для определенных значений или
диапазонов значений в пределах большой таблицы, таким образом избегая
полного сканирования таблицы. См. buffer pool,
index. Возможность для того, чтобы найти слова, фразы, булевы комбинации
слов и так далее в пределах табличных данных более быстрым, удобным и гибким
способом, чем использование SQL См. FULLTEXT index. Спецвид индекса, который хранит
поисковый индекс в механизме
полнотекстового поиска MySQL.
Представляет слова от значений столбца, опуская любые, которые определены как
стоп-слова. Первоначально доступен только для
См. full-text search,
index,
InnoDB,
search index,
stopword. Метод, который сбрасывает маленькие
пакеты грязных страниц из
буферного пула, вместо того, чтобы сбросить все
грязные страницы сразу, что разрушило бы обработку базы данных. См. buffer pool,
dirty page,
flush. "Generally available", этап, когда программный продукт оставляет
статус beta и доступен для продажи, официальной
поддержки и производственного использования. См. beta. Место в структуре данных индекса,
где новые значения могли быть вставлены. Когда Вы блокируете ряд строк таким
запросом, как См. concurrency,
gap lock,
index,
infimum record,
isolation level,
supremum record. Блокировка на
промежутке между индексными записями
или блокировка на промежутке перед первой или после последней записи.
Например, Блокировки промежутка используются в некоторых
операционных уровнях изоляции. См. gap,
infimum record,
lock,
next-key lock,
record lock,
supremum record. Тип журнала, используемого для
диагностики и поиска неисправностей запросов SQL, обработан сервером MySQL.
Может быть сохранен в файле или в таблице базы данных.
Вы должны активировать это через опцию
Делает запись более широкого диапазона запросов, чем
медленный журнал запроса. В отличие от
двоичного журнала, который используется для
репликации, общий журнал запроса содержит запросы
См. binary log,
log,
slow query log. Совместно используемое Таблицы добавлены к общему табличному пространству через
См. раздел 16.7.9. Столбец, значения которого вычислены от выражения, включенного в
определение столбца. Произведенный столбец может быть
виртуальным или сохраненным.
См. base column,
generated stored column
,
generated virtual column. Столбец, значения которого вычислены от выражения, включенного в
определение столбца. Значения столбцов оценены и сохранены, когда строки
вставлены или обновлены. Сохраненный столбец требует места для хранения и
может быть индексирован. См. base column,
generated column,
generated virtual column
. Столбец, значения которого вычислены от выражения, включенного в
определение столбца. Значения столбцов не сохранены, но оценены, когда строки
считаны, немедленно после любого триггера См. base column,
generated column,
generated stored column
. Тип транзакции, вовлеченной в операции
XA. Это состоит из нескольких действий, которые
являются транзакционными, но все должны завершиться успешно как группа, или
все быть отменены. В основном, это расширяет свойства
ACID так, чтобы многократные транзакции ACID
могли быть выполнены как компоненты глобальной работы, у которой также
есть свойства ACID. См. ACID,
transaction,
XA. В оптимизации Когда двоичный журнал включен, Вы, как
правило, также устанавливаете параметр конфигурации
См. binary log,
commit. Тип индекса
предназначенный для запросов, которые используют операторы равенства вместо
таких операторов, как больше чем или MySQL включает разновидность этого индекса
адаптивный хеш-индекс,
который создан автоматически для См. adaptive hash index
, B-tree,
index,
InnoDB. Сокращение для "hard disk drive". Относится к жестким дискам
обычно сравниваясь и контрастируя с SSD.
Его технические характеристики могут влиять на пропускную способность. См. disk-based,
SSD. Периодическое сообщение, которое посылают, чтобы указать, что система
функционирует должным образом. В контексте
репликации, если
ведущее устройство
прекращает посылать такие сообщения, одно из
ведомых устройств может занять его место.
Подобные методы могут использоваться между серверами в окружающей среде
кластера, чтобы подтвердить, что все они действуют должным образом. См. master server,
replication. Значение, представляющее верхний предел или жесткий предел,
который не должен быть превышен во время выполнения, или максимальное
значение, которое было фактически достигнуто. См. low-water mark. Список транзакций с записями,
отмеченными как удаленные, для работы
Также известно как задержка чистки. См. DML,
flush,
purge,
purge lag,
rollback segment,
transaction,
undo log. Выпуск пустых блоков страницы.
Условие, где к строке, таблице или внутренней структуре данных
получают доступ так часто, требуя некоторой формы блокировки или взаимного
исключения, что это приводит к проблеме масштабируемости или работы. Хотя "горячий" как правило указывает на нежелательное условие,
горячее резервное копирование
это привилегированный тип резервного копирования. См. hot backup. Резервное копирование в то время, как база данных работает, и
приложения читают и пишут ее. Резервное копирование вовлекает больше, чем
простое копирование файлов с данными: это должно включать любые данные,
которые были вставлены или обновлены, в то время как резервное копирование
было в процессе, это должно исключить любые данные, которые были удалены, в
то время как резервное копирование было в процессе, и это должно
проигнорировать любые изменения, которые не были переданы. Продукт Oracle, который выполняет горячие резервные копии, ориентирован на
Горячий резервный процесс состоит из двух этапов. Копирование
файлов с данными производит сырое резервное копирование
. Шаг применения включает любые
изменения базы данных, которые произошли в то время, как резервное
копирование работало. Применение изменений производит
готовое резервное копирование: эти файлы готовы
быть восстановленными всякий раз, когда необходимо. См. apply,
MySQL Enterprise Backup
, prepared backup,
raw backup. Файл с данными для табличных пространств
file-per-table
и общих табличных пространств. Табличное пространство File-per-table
содержит единственную таблицу и связанный индексные данные.
Общее табличное пространство
может содержать таблицу и индексные данные для многих таблиц. Файл Если табличное пространство file-per-table
или общее табличное пространство создаются с Когда файл См. database,
file-per-table,
general tablespace,
ibdata file,
.ibz file,
innodb_file_per_table,
MySQL Enterprise Backup,
system tablespace. Когда MySQL Enterprise Backup
выполняет сжатое резервное копирование,
он преобразовывает каждый файл табличного пространства
, который создается, используя file-per-table
из Сжатие, примененное во время резервного копирования, отлично от
сжатого формата строки, который сохраняет
табличные данные сжатыми во время нормального функционирования. Сжатая
резервная работа пропускает шаг сжатия для табличного пространства, которое
уже находится в сжатом формате строки, поскольку сжатие во второй раз
замедлило бы резервное копирование, но произвело бы небольшие или
никакие сбережения пространства. См. compressed backup,
compressed row format,
file-per-table,
.ibd file,
MySQL Enterprise Backup
, tablespace. См. disk-bound
. Набор файлов, которыми управляет См. database,
file-per-table,
general tablespace,
redo log,
system tablespace,
temporary tablespace,
undo tablespace. Дополнительный резервный файл создан
MySQL Enterprise Backup во время
горячей резервной копии.
Это содержит информацию о любых изменениях данных, которые произошли в то
время, как резервное копирование работало. Начальные резервные файлы, включая
См. apply,
hot backup,
MySQL Enterprise Backup
, prepared backup,
raw backup. Ряд файлов с именами вроде Рост файлов См. change buffer,
data dictionary,
doublewrite buffer,
file-per-table,
.ibd file,
innodb_file_per_table,
system tablespace,
undo log. Файл временного табличного пространства
для несжатых временных таблиц Ряд файлов, как правило называемых Эти данные не могут использоваться для ручного восстановления, для этого
типа работы, используйте двоичный журнал. См. binary log,
log group,
redo log. В пределах индекса FULLTEXT
структура данных, состоящая из ID документа и информации о местонахождении
для маркера (то есть, особого слова). См. FULLTEXT index. Блокировка строки, приобретенная См. row lock. Тип системы базы данных, которая поддерживает данные в памяти,
чтобы избежать издержек из-за дискового ввода/вывода и перевода между
дисковыми блоками и областями памяти. Некоторые базы данных в памяти жертвуют
длительностью ("D" в ACID)
и уязвимы для аппаратных средств и других типов отказов, делая их более
подходящими для операций только для чтения. Другие базы данных в памяти
действительно используют механизмы длительности, такие как журналирование
изменений диска или использования энергонезависимой памяти. Особенности MySQL, которые обращаются к тем же самым видам интенсивной
обработки памяти, включают буферный пул,
адаптивный хеш-индекс и оптимизация
только для чтения, механизм хранения
См. ACID,
adaptive hash index,
buffer pool,
disk-based,
read-only transaction. Тип горячего резервного копирования,
выполненного MySQL Enterprise Backup, который
сохраняет только данные, измененные начиная с некоторого момента времени.
Наличие полного резервного копирования и последовательности возрастающих
резервных копий позволяет Вам восстанавливать резервные данные за длительный
период без издержек хранения нескольких полных резервных копий. Вы можете
восстановить полное резервное копирование и затем применить каждую из
возрастающих резервных копий по очереди, или Вы можете сохранить полное
резервное копирование современным, применяя каждое возрастающее резервное
копирование к этому, а затем выполнить единственную работу восстановления.
Степень детализации измененных данных на уровне страницы
. Страница могла бы фактически покрыть больше, чем одну
строку. Каждая измененная страница включена в резервное копирование. См. hot backup,
MySQL Enterprise Backup
, page. Структура данных, которая обеспечивает быструю способность поиска
строк таблицы,
как правило, формируя древовидную структуру (B-дерево)
, представляющее все значения особого
столбца или набора столбцов. У таблицы Индекс это решающий аспект работы запроса.
Архитекторы базы данных разрабатывают таблицы, запросы и индексы, чтобы
позволить быстрые поиски для данных, необходимых приложениям.
Идеальное проектирование баз данных использует
покрывающий индекс, результаты запроса
вычислены полностью от индекса, не читая фактические табличные данные. Каждое
ограничение внешнего ключа также требует
индексирования, чтобы эффективно проверить, существуют ли значения в
родительских и
дочерних таблицах. Хотя B-дерево индекса наиболее распространено, иной вид структуры данных
используется для хэш-индексов, как в механизме
хранения См. adaptive hash index
, B-tree,
child table,
clustered index,
column index,
composite index,
covering index,
foreign key,
hash index,
parent table,
partial index,
primary key,
query,
R-tree,
row,
secondary index,
table. Область памяти, которая содержит маркерные данные для
полнотекстового поиска. Это буферизует данные,
чтобы минимизировать дисковый ввод/вывод, когда данные вставлены или
обновлены в столбцах, которые являются частью индекса FULLTEXT
. Маркерные данные написаны на диск, когда индексный кэш
становится полным. Каждый индекс Index condition pushdown (ICP) это оптимизация, которая продвигает
часть выражения См. index,
storage engine. Расширенный синтаксис SQL для того, чтобы переопределить
индексы, рекомендуемые оптимизатором.
Например, См. cardinality,
index. В индексе, который относится к многим
столбцам (известен как сводный индекс),
ведущие столбцы индекса. Запрос, который ссылается на первые 1, 2, 3 и т.д.
столбцы сводного индекса, может использовать индексирование, даже если
запрос не ссылается на все столбцы в индексе. См. composite index,
index. См.
statistics. Псевдозапись в
индексе, представляющая
промежуток ниже самого маленького значения в
этом индексе. Если у транзакции есть такой запрос, как
См. gap,
index,
pseudo-record,
supremum record. Название базы данных, которая
обеспечивает интерфейс запроса к словарю данных
MySQL. Это имя определено стандартом ANSI SQL. Чтобы исследовать информацию
(метаданные) о базе данных, Вы можете запросить такие таблицы, как
Информационная схема содержит некоторые таблицы, которые являются
определенными для InnoDB, например,
См. compression,
data dictionary,
database,
InnoDB,
lock,
transaction. Компонент MySQL, который комбинирует высокую производительность с
транзакционными возможностями.
Это воплощает ACID. Представлен как
механизм хранения, это обрабатывает таблицы,
создаваемые или измененные с В MySQL 5.5 и выше InnoDB механизм хранения значения по умолчанию для
новых таблиц и Таблицы InnoDB идеально удовлетворяют требования для
горячих резервных копий. См.
раздел 27.2. См. ACID,
hot backup,
storage engine,
transaction. Опция Важный параметр конфигурации, который затрагивает много аспектов
хранения файла InnoDB, доступности особенностей и характеристик ввода/вывода.
В MySQL 5.6.7 и выше это включено по умолчанию. До MySQL 5.6.7 это отключено
по умолчанию. Эта опция затрагивает соображения работы и хранения для многих запросов
SQL, например, Включение Для информации см. раздел
16.7.4. См. compression,
file-per-table,
.ibd file,
MySQL Enterprise Backup
, system tablespace. Опция См. deadlock,
deadlock detection,
lock,
wait. Опция Этот режим настройка по умолчанию в MySQL 5.5.5 и выше. См. strict mode. Одна из основных операций DML в
SQL. Исполнение вставок это ключевой фактор в
системах хранилищ данных, которые загружают
миллионы строк в таблицы, и систем OLTP, где
много параллельных соединений могли бы вставить строки в ту же самую таблицу
в произвольном порядке. Если вставка важна для Вас, Вы должны узнать об
особенностях InnoDB, таких как
буфер вставки, используемый в буферизации
изменения, и столбцах
auto-increment. См. auto-increment,
change buffering,
data warehouse,
DML,
InnoDB,
insert buffer,
OLTP,
SQL. Прежнее название буфера изменения. В
MySQL 5.5 была добавлена поддержка, чтобы буферизовать изменения вторичных
индексных страниц для Метод хранения изменений вторичных индексных страниц из
Буферизация не используется, если вторичные индексы
уникальны, потому что уникальность новых
значений не может быть проверена прежде, чем новые записи записаны. Другие
виды буферизации изменения действительно работают на уникальных индексах. См. change buffer,
change buffering,
delete buffering,
insert buffer,
purge buffering,
unique index. Тип блокировки промежутка, которая установлена
См. gap lock,
lock,
next-key lock. Один демон mysqld управляющий
каталогом данных, представляющим одну или более
баз данных с рядом таблиц
. Распространено в развитии, тестировании и некоторых
сценариях репликации иметь многократные
экземпляры на той же самой машине, каждый управляющий собственным каталогом
данных и слушающий на собственном порту или сокете. С одним экземпляром,
выполняющим disk-bound нагрузку,
у сервера могли бы все еще быть дополнительные ресурсы центральныого
процессора и объем памяти, чтобы выполнить дополнительные экземпляры. См. data directory,
database,
disk-bound,
mysqld,
replication,
server. Модификации на уровне исходного кода, чтобы собрать характеристики для
настройки и отладки. В MySQL данные, собранные инструментовкой, выставлены
через интерфейс SQL, используя базы данных
См.
intention lock. Подвид блокировки, которая относится к
табличному уровню, чтобы указывать, какую блокировку транзакция намеревается
приобрести на строках в таблице. Различные транзакции могут приобрести
различные виды намерения на ту же самую таблицу, но первая транзакция,
которая приобретет исключительную блокировку намерения
(IX) препятствует тому, чтобы другие транзакции приобрели любые S или
X блокировки на таблице. Наоборот, первая транзакция, которая приобретет
совместно использованное намерение (IS),
препятствует тому, чтобы другие транзакции приобрели любую блокировку X.
Двухфазовый процесс позволяет запросам блокировки быть решенными в порядке,
не блокируя блокировки и соответствующие операции, которые совместимы. Для
большего количества деталей об этом механизме блокировки см.
раздел 16.5.1. См.
intention lock. Структура данных, оптимизированная для систем извлечения документа,
используемых в выполнении InnoDB полнотекстового поиска
. InnoDB индекс FULLTEXT,
осуществленный как инвертированный индекс, делает запись позиции каждого
слова в пределах документа, а не местоположения строки таблицы. Единственное
значение столбца (документ, хранимый как текстовая строка), представлено
многими записями в инвертированном индексе. См. full-text search,
FULLTEXT index,
ilist. Сокращение от I/O operations per second.
Общее измерение для занятых систем, особенно приложений
OLTP. Если это значение около максимума,
который могут обработать устройства хранения данных, приложение может стать
disk-bound,
ограничивая масштабируемость. См. disk-bound,
OLTP,
scalability. Один из фондов обработки базы данных. Изоляция это
I в ACID,
уровень изоляции это установка, которая точно настраивает баланс между
работой и надежностью, последовательностью и воспроизводимостью результатов,
когда многократные транзакции
производят изменения и выполняют запросы в то же самое время. От самого высокого количества последовательности и защиты к наименьшей,
уровни изоляции, поддержанные InnoDB:
SERIALIZABLE,
REPEATABLE READ,
READ COMMITTED и
READ UNCOMMITTED. С InnoDB много пользователей могут сохранить уровень изоляции по умолчанию
(REPEATABLE READ) для всех операций. Опытные
пользователи могли бы выбрать read committed,
поскольку они продвигают границы масштабируемости с обработкой OLTP, или во
время операций складирования данных, где незначительные несогласованности не
затрагивают совокупные результаты больших объемов данных. Уровни на краях
(SERIALIZABLE и
READ UNCOMMITTED) изменяют поведение обработки
до такой степени, что они редко используются. См. ACID,
READ COMMITTED,
READ UNCOMMITTED,
REPEATABLE READ,
SERIALIZABLE,
transaction. Запрос, который получает данные больше,
чем от одной таблицы, ссылаясь на столбцы в таблицах, которые содержат
идентичные значения. Идеально, эти столбцы часть отношений
внешнего ключа InnoDB, которые гарантируют
ссылочную целостность и что столбцы соединения
индексированы. Часто используется, чтобы
оставить свободное место и улучшить работу запроса, заменяя повторенные
строки числовыми ID в нормализованном
проекте данных. См. foreign key,
index,
normalized,
query,
referential integrity.
Опция, чтобы определить размер страниц данных в пределах таблицы
InnoDB, которая использует сжатый формат строки.
Значение по умолчанию составляет 8 килобайт. Нижние значения рискуют поражать
внутренние пределы, которые зависят от комбинации размера
строки и процента сжатия. Легкая структура, используемая InnoDB, чтобы осуществить
блокировку для ее собственных внутренних
структур памяти, как правило проводимых в течение краткого времени,
измеренного в миллисекундах или микросекундах. Общий термин, который включает
mutexes (для эксклюзивного доступа) и
rw-блокировки (для совместно используемого
доступа). Определенные структуры центр исполнительной настройки InnoDB, такой
как словарь данных mutex. Статистические данные
об использовании доступны через интерфейс Performance Schema
. См. data dictionary,
lock,
locking,
mutex,
Performance Schema,
rw-lock. Буферный пул представлен как список
страниц в памяти. Список переупорядочен по
мере работы со страницами. Буферный пул фактически разделен на
подсписки, и политика замены это изменение
знакомого метода LRU. См. buffer pool,
eviction,
LRU,
sublist. Высокоуровневое понятие объекта, который управляет доступом к ресурсу,
такому как таблица, строка или внутренняя структура данных, как часть
стратегии блокировки. Для интенсивной
исполнительной настройки Вы могли бы копаться в фактических структурах,
которые осуществляют блокировки, например,
mutexes и
latches. Работа в некоторых системах базы данных, которая преобразовывает много
блокировок строки в единственную табличную блокировку, сохраняя место в
памяти, но уменьшая параллельный доступ к таблице. InnoDB использует
эффективное представление для блокировок строки, чтобы подъем блокировки
не был необходим. См. locking,
row lock,
table lock. Совместно используемая блокировка (S)
позволяет транзакции читать строку. Многократные транзакции могут приобрести
блокировку S на ту же самую строку в то же самое время. Исключительная блокировка (X) позволяет транзакции обновлять или удалять
строку. Никакая другая транзакция не может приобрести такую блокировку
на ту же самую строку в то же самое время. Блокировки намерения относятся к табличному
уровню и используются, чтобы указать, какую блокировку транзакция
намеревается приобрести на строках в таблице. Различные транзакции могут
приобрести различные виды намерения на ту же самую таблицу, но первая
транзакция, которая приобретет исключительное намерение (IX)
препятствует тому, чтобы другие транзакции приобрели любую S или X
на таблице. Наоборот, первая транзакция, которая приобретет совместно
использованное намерение (IS) препятствует тому, чтобы другие транзакции
приобрели любую блокировку X на таблицу. Двухфазовый процесс позволяет
запросам блокировки быть решенными в порядке, не блокируя блокировки и
соответствующие операции, которые совместимы. См. intention lock,
lock,
locking. Система защиты транзакции от наблюдения
или изменения данных, которые запрашиваются или изменяются другими
транзакциями. Стратегия блокировки должна сбалансировать надежность и
последовательность операций базы данных (принципы
ACID). Точная настройка стратегии блокировки
часто вовлекает выбор уровня изоляции и
обеспечение того, что все Ваши операции базы данных безопасны и надежны для
этого уровня изоляции. См. ACID,
concurrency,
isolation level,
latch,
lock,
mutex,
transaction. См. deadlock,
isolation level,
locking,
non-locking read,
read-only transaction. В контексте InnoDB журнал или
файлы журнала как правило обращается к журналу
redo представленному файлами
ib_logfile*.
Другой областью журнала, которая может быть физически частью
системного табличного пространства,
является журнал отмены. Другие виды журналов, которые важны в MySQL, являются
журналом ошибок (для того, чтобы диагностировать запуск и
проблемы во время выполнения), двоичный журнал
(для того, чтобы работать с репликацией и выполнить восстановления момента
времени), общий журнал запроса (для того, чтобы
диагностировать проблемы приложения) и медленный журнал запроса
(для того, чтобы диагностировать исполнительные проблемы).
См. binary log,
error log,
general query log,
ib_logfile,
redo log,
slow query log,
system tablespace,
undo log. Область памяти, которая хранит данные, которые будут написаны
в файлы системного журнала, которые составляют
журнал redo. Этим управляется опцией
Один из файлов См. ib_logfile,
log buffer,
redo log. Набор файлов, которые составляют журнал redo
, обычно См. ib_logfile,
redo log. Тип работы, которая вовлекает высокий уровень, абстрактные аспекты,
такие как таблицы, запросы, индексы и другие понятия SQL. Как правило,
логические аспекты важны, чтобы сделать управление базами данных и разработку
приложений удобными и применимыми. См. logical backup,
physical. Резервное копирование, которое
воспроизводит структуру таблицы и данные, не копируя фактические файлы с
данными. Например, См. backup,
mysqldump,
physical backup,
restore. В MySQL 5.1 префикс, добавленный к параметрам конфигурации InnoDB,
устанавливая Plugin после запуска сервера,
таким образом, любые новые параметры конфигурации, не признанные текущим
уровнем MySQL, не вызывают отказ запуска. MySQL обрабатывает параметры
конфигурации, которые запускаются с этого префикса, но дает предупреждение, а
не отказ, если часть после префикса это не признанная опция. См. plugin. Значение, представляющее низкий предел, как правило, пороговое
значение, в котором некоторое корректирующее действие начинается или
становится более агрессивным. См. high-water mark. Сокращение от "least recently used", общепринятая методика для того,
чтобы управлять областями хранения. Элементы, которые не использовались
недавно, вычеркнуты, когда пространство
необходимо, чтобы кэшировать более новые элементы. InnoDB использует механизм
LRU по умолчанию, чтобы управлять страницами в
буферном пуле, но делает исключения в случаях,
где страница могла бы быть только для чтения, как во время
полного сканирования таблицы. Это изменение
алгоритма LRU называют стратегией вставки середины
. Пути, которыми буферное управление пула отличается от традиционного
алгоритма LRU, точно настроены опциями
См. buffer pool,
eviction,
full table scan,
midpoint insertion strategy,
page. Сокращение от "log sequence number". Это произвольное, постоянно
увеличивающееся, значение представляет момент времени, соответствующий
операциям, зарегистрированным в журнале redo.
Этот момент времени независим от операционных
границ, это может упасть в середине одной или более транзакций. Это
используется внутренне InnoDB во время восстановления
катастрофического отказа и для того, чтобы
управлять буферным пулом. До MySQL 5.6.3 LSN был 4-байтным unsigned integer. LSN стал 8-байтовым
unsigned integer в MySQL 5.6.3, когда предел размера файла системного журнала
увеличился с 4GB до 512GB, поскольку дополнительные байты были обязаны
хранить дополнительную информацию размера. Приложения, основанные на MySQL
5.6.3 или позже, которые используют значения LSN, должны теперь использовать
64-битовые, а не 32-битовые переменные, чтобы сохранить и
сравнить значения LSN. В MySQL Enterprise Backup
Вы можете определить LSN, чтобы представить момент времени, от которого можно
взять возрастающее резервное копирование.
Соответствующий LSN выведен на экран выводом См. crash recovery,
incremental backup,
MySQL Enterprise Backup
, redo log,
transaction. Файл, содержащий ссылки на другие таблицы, используемые
механизмом хранения Файл, чтобы хранить данные для таблицы MyISAM. См. .MYI file,
MySQL Enterprise Backup,
mysqlbackup command. Файл, чтобы хранить индексы для таблицы MyISAM. См. .MYD file,
MySQL Enterprise Backup,
mysqlbackup command. Часто "ведущее устройство". Машина сервера базы данных в
сценарии репликации, который обрабатывает
начальные запросы вставки, обновления и удаления данных. Эти изменения
размножены и повторены на других серверах, известных
как ведомые серверы. См. replication,
slave server. Поток, который выполняет различные
задачи в фоне. Большинство этих задач связаны с вводом/выводом, например,
запись буфера изменения в
соответствующие вторичные индексы. Чтобы улучшить параллелизм, иногда действия
перемещены из основного потока, чтобы отделить фоновые потоки. Например, в
MySQL 5.6 и выше грязные страницы
сбрасываются из
буферного пула потоком
уборщика страницы, а не основным потоком. См. buffer pool,
dirty page,
flush,
insert buffer,
page cleaner,
thread. Сокращение от metadata lock. См. metadata lock. Популярный компонент многих стеков программного обеспечения MySQL и
NoSQL, позволяя быстро читать и писать
единственные значения и кэширование результатов полностью в памяти.
Традиционно, приложения требовали, чтобы дополнительная логика писала те же
самые данные в базу данных MySQL для постоянного хранения или читала данные
из базы данных MySQL, когда это еще не кэшировалось в памяти. Теперь
приложения могут использовать простой протокол
memcached, поддержанный библиотеками клиента
для многих языков, чтобы работать непосредственно с использованием серверов
MySQL или MySQL Cluster. Эти интерфейсы NoSQL к таблицам MySQL позволяют
приложениям достигать больших скоростей, чем выпуская запросы SQL
непосредственно, и могут упростить логику приложения и конфигурации
развертывания для систем, которые уже включили
memcached для кэширования в памяти. Интерфейс memcached к таблицам InnoDB
доступен в MySQL 5.6 и выше, см.
раздел 16.19. Интерфейс
memcached к MySQL Cluster доступен в
MySQL Cluster 7.2, см.
http://dev.mysql.com/doc/ndbapi/en/ndbmemcache.html. Применяет изменения данных в памяти как тогда,
когда страница принесена в буферный пул, и
любые применимые изменения, зарегистрированные в
буфере изменения. Обновленные данные в конечном
счете написаны в табличное пространство
механизмом сброса данных. См. buffer pool,
change buffer,
flush,
tablespace. Тип блокировки, которая
предотвращает операции DDL на таблице, которая
используется в то же самое время другой транзакцией
. Для деталей см. раздел 9.11.4
. Улучшения операций онлайн, особенно в MySQL
5.6 и выше, сосредоточены на сокращении количества блокировки метаданных.
Цель для операций DDL, которые не изменяют структуру таблицы, например,
См. DDL,
lock,
online,
transaction. Опция, реализованная таблицей
Метод начального обеспечения страниц в
буферном пуле InnoDB не в "новейшем"
конце списка, а вместо этого где-нибудь в середине. Точное местоположение
этого пункта может измениться, основанное на установке
См. buffer pool,
full table scan,
LRU,
page. Внутренняя фаза обработки InnoDB, производящая изменения на
физическом уровне внутренних структур данных во
время операций DML. У минитранзакции (mtr) нет
никакого понятия отмены, многократные
минитранзакции могут произойти в пределах единственной
транзакции. Минитранзакции пишут информацию в
журнал redo, который используется во время
восстановления катастрофического отказа.
Минитранзакция может также произойти вне контекста регулярной транзакции,
например во время обработки
чистки фоновыми потоками. См. commit,
crash recovery,
DML,
physical,
purge,
redo log,
rollback,
transaction. Может вызвать проблемы последовательности между
основными и ведомыми
серверами в конфигурации репликации.
Может потребовать корректировки значения опции
innodb_autoinc_lock_mode. См. auto-increment,
innodb_autoinc_lock_mode
, master server,
replication,
slave server. См.
mini-transaction. Тип процессора, который может использовать в своих интересах
мультипоточные программы, такие как сервер MySQL. См. MVCC. Сокращение от "mutex variable". Mutex сам по себе сокращение от
"mutual exclusion". Низкоуровневый объект, используемый InnoDB, чтобы
представить и провести в жизнь блокировки
эксклюзивного доступа к внутренним структурам данных в памяти. Как только
блокировка приобретена, любому другому процессу, потоку и так далее
препятствуют приобрести ту же самую блокировку.
Mutexes и rw-блокировки известны все вместе как
latches. См. latch,
lock,
Performance Schema,
Pthreads,
rw-lock. Сокращение от "multiversion concurrency control". Этот метод позволяет
транзакциям InnoDB с определенными
уровнями изоляции выполнить
последовательные операции
чтения, то есть, чтобы запросить строки,
которые обновляются другими транзакциями, и видеть значения до тех
обновлений. Это сильный метод увеличить параллелизм
, позволяя запросам продолжиться, не ожидая из-за
блокировок, проводимых другими транзакциями. Этот метод не универсален в мире баз данных. Некоторые другие продукты
базы данных и некоторые другие механизмы хранения MySQL не поддерживают это.
См. ACID,
concurrency,
consistent read,
isolation level,
lock,
transaction. Имя файла опции MySQL в системах Unix или Linux. См. my.ini,
option file. Имя файла опции MySQL в системах Windows. См. my.cnf,
option file. Интерпретатор командной строки для базы данных MySQL. Это обрабатывает
запросы SQL, а также команды MySQL, например,
Имеющий лицензию продукт, который выполняет
горячие резервные копии баз данных MySQL.
Это предлагает больше эффективности и гибкости, поддерживая таблицы
InnoDB,
но может также поддержать MyISAM и другие виды таблиц. См. hot backup,
InnoDB. Инструмент командной строки MySQL
Enterprise Backup. Это выполняет
горячее резервирование для таблиц InnoDB и
теплое резервирование для MyISAM
и других видов таблиц. См.
раздел 27.2. Это собственно механизм базы данных MySQL. Это работает как демон Unix
или служба Windows, постоянно ждущая запросов и выполняющая
работу обслуживания в фоне. См. mysql. Команда, которая выполняет логическое резервное
копирование некоторой комбинации баз данных, таблиц и
табличных данных. Результаты это запросы SQL, которые воспроизводят
оригинальные объекты схемы, данные или то и другое. Для значительного
количества данных физическое резервное копирование
, например, MySQL Enterprise Backup
быстрее, особенно для работы восстановления.
См. logical backup,
MySQL Enterprise Backup
, physical backup,
restore. Индексированный столбец, как правило, primary key
, где у значений есть некоторое значение реального мира. Если значение должно когда-либо изменяться, есть потенциально
много индексного обслуживания, чтобы изменить кластеризируемый
индекс и обновить копии значения первичного ключа, которые
повторены в каждом вторичном индексе. Таким образом, как правило лучше использовать произвольные числовые
значения, чтобы сформировать синтетический ключ
, например, используя столбец auto-increment
. См. auto-increment,
primary key,
secondary index,
synthetic key. Любая страница в том же самом
экстенте, как особая страница. Когда страница
выбрана, чтобы сбросить,
любые соседние страницы, которые грязные,
как правило, также сбрасываются, как оптимизация ввода/вывода для
традиционных жестких дисков. В MySQL 5.6 и выше
этим поведением может управлять переменная конфигурации
См. dirty page,
extent,
flush,
page. Комбинация блокировки записи
индекса и блокировки промежутка на
промежутке перед индексной записью. См. gap lock,
locking,
record lock. Промышленный термин, который означает то же самое, что и
asynchronous I/O. См. asynchronous I/O. Запрос, который не использует
Ситуация, когда запрос получает данные, и более поздний запрос в
пределах той же самой транзакции получает то,
что должно быть теми же самыми данными, но запросы возвращают различные
результаты (изменены другой транзакцией, переданной тем временем). Этот вид работы идет вразрез с ACID.
В пределах транзакции данные должны быть последовательными, с
предсказуемыми и устойчивыми отношениями. Среди различных уровней изоляции
неповторимые чтения предотвращены уровнями
serializable read и
repeatable read, но разрешены на уровнях
consistent read и
read uncommitted. См. ACID,
consistent read,
isolation level,
READ UNCOMMITTED,
REPEATABLE READ,
SERIALIZABLE,
transaction. Стратегия проектирования баз данных, где данные разделены на
многократные таблицы и двойные значения, сжатые в единственные строки,
представленные ID, чтобы избежать хранить, запрашивать и обновлять избыточные
или длинные значения. Это как правило
используется в приложениях OLTP. Например, адресу можно было бы дать уникальный ID, чтобы база
данных переписи могла представить жизни
отношений в этом адресе, связывая
ID с каждым членом семьи, вместо того, чтобы хранить многократные копии
сложного значения, такие как 123 Main Street, Anytown, USA
. Для другого примера, хотя простое приложение адресной книги могло бы
сохранить каждый номер телефона в той же самой таблице как имя человека и
адрес, база данных телефонной компании могла бы дать каждому номеру телефона
специальный ID и сохранить числа и ID в отдельной таблице. Это
нормализованное представление могло упростить крупномасштабные обновления,
когда коды области разделяли обособленно. Нормализация не всегда рекомендуется. Данные, которые прежде всего
запрошены и только обновлены, часто сохраняются в больших таблицах с
избыточными копиями двойных значений. Это представление данных упоминается
как denormalized и часто находится в
приложениях складирования данных. См. denormalized,
foreign key,
OLTP,
relational. Широкий термин для ряда технологий доступа к данным, которые не
используют язык SQL в качестве их основного
механизма для чтения и записи данных. Некоторый технологический акт NoSQL как
значение ключа хранит только единственное значение, что не требует
предварительно запланированной схемы.
Пользователи MySQL могут объединить обработку NoSQL-стиля для скорости и
простоты с операциями SQL для гибкости и удобства при использовании
memcached API, чтобы непосредственно получить
доступ к некоторым видам таблиц MySQL. Интерфейс memcached
к таблицам InnoDB доступен в MySQL 5.6 и выше, см.
раздел 16.19. Интерфейс
memcached к MySQL Cluster доступен в
MySQL Cluster 7.2, см.
http://dev.mysql.com/doc/ndbapi/en/ndbmemcache.html. Тип ограничения, которое определяет, что
столбец не может содержать
NULL. Это помогает сохранить
ссылочную целостность, поскольку сервер базы
данных может идентифицировать данные с ошибочными недостающими значениями.
Это также помогает в арифметике, вовлеченной в оптимизацию запроса, позволяя
оптимизатору предсказать число записей в индексе на этом столбце. См. column,
constraint,
NULL,
primary key,
referential integrity. Специальное значение в SQL указывает на
отсутствие данных. Любая арифметическая работа или тест равенства,
вовлекающий Поскольку первичный ключ должен быть в
состоянии уникально идентифицировать каждую строку в таблице, первичный ключ
единственного столбца не может содержать Хотя база данных Oracle позволяет См. index,
primary key,
SQL. Файл, содержащий информацию о конфигурации базы данных. Файлы с этим
расширением всегда включаются в резервные копии, произведенные
Столбец, содержащий данные переменной длины ( См. B-tree,
overflow page. Сокращение для "Online Transaction Processing".
Система базы данных или приложение базы данных, которое выполняет рабочую
нагрузку со многими транзакциями, частыми
чтениями и записями, как правило затрагивая небольшие количества данных за
один раз. Например, система резервирования авиалинии или приложение, которое
обрабатывает вклады в банке. Данные могли бы быть организованы в
нормализованной форме для баланса между
эффективностью DML
(вставки/обновления/удаления) и запросов. С блокировкой на уровне строки и
транзакционной способностью
InnoDB это идеальный механизм хранения для
таблиц MySQL, используемых в приложениях OLTP. См. data warehouse,
DML,
InnoDB,
query,
row lock,
transaction. Тип работы, которая не вовлекает времени простоя, блокирования или
ограниченной работы для базы данных. Как правило, применяется к
DDL. Операции, которые сокращают периоды
ограниченной работы, такие как быстрое создание индекса
, развились в более широкий набор операций
DDL онлайн в MySQL 5.6. В контексте резервных копий горячее резервное копирование
это работа онлайн, а теплое резервное
копирование частично работа онлайн. См. DDL,
Fast Index Creation,
hot backup,
online DDL,
warm backup. Особенность, которая улучшает работу, параллелизм и доступность
таблиц InnoDB во время DDL (прежде всего
Детали изменяются согласно типу работы. В некоторых случаях таблица
может быть изменена одновременно в то время, как работает
Эта особенность улучшение Fast Index Creation
в MySQL 5.5 и InnoDB Plugin в MySQL 5.1. См. DDL,
Fast Index Creation,
online. Методология, которая ведет низкоуровневые решения выполнения для
системы реляционной базы данных. Требования работы и
параллелизма в реляционной базе данных означают, что операции
должны быть запущены или посланы быстро. Требования последовательности и
ссылочной целостности означают, что любая
работа могла потерпеть неудачу: транзакция могла быть отменена, работа
DML могла нарушить ограничение, запрос о
блокировке мог вызвать тупик, сетевая ошибка могла вызвать тайм-аут.
Оптимистическая стратегия принимает, что большинство запросов преуспеют,
чтобы относительно маленькая работа была сделана, чтобы подготовиться к
случаю отказа. Когда это предположение истина, база данных делает небольшую
ненужную работу, когда запросы действительно терпят неудачу, дополнительная
работа должна быть сделана, чтобы отменить изменения. InnoDB использует оптимистические стратегии операций, таких как
locking и
commits. Например, данные, измененные
транзакцией, могут быть написаны файлам с данными прежде, чем передача
произойдет, делая передачу очень быстро, но требуя больше работы, чтобы
отменить изменения, если транзакция отменилась Противоположность оптимистической стратегии это
пессимистическая, где система оптимизирована,
чтобы иметь дело с операциями, которые ненадежны и часто неудачны.
Эта методология редка в системе базы данных, потому что такая большая забота
входит в выбор надежных аппаратных средств, сетей и алгоритмов. См. commit,
concurrency,
DML,
locking,
pessimistic. Компонент MySQL, который определяет лучший порядок использования
индексов и join
для запроса, основанного на характеристиках и
распределении данных соответствующих таблиц.
Параметр конфигурации для MySQL, сохраненный в файле
опций или переданный в командной строке. Для опций, которые относятся к таблицам InnoDB
, каждое имя опции начинается с См. InnoDB,
option file. Файл, который содержит параметры конфигурации MySQL.
Традиционно в Linux и Unix этот файл называют
См. configuration file,
my.cnf,
option. Отдельно выделенные дисковые страницы,
которые содержат столбцы переменной длины (такие как
См. B-tree,
off-page column,
page. Файл, содержащий определения разделения. Файлы с этим расширением
всегда включаются в резервные копии, произведенные С введением родного разделения для Представление сколько данных InnoDB переходит в любой момент между
диском (файлы с данными) и памятью
(буферный пул). Страница может содержать одну
или более строк, в зависимости от того, сколько
данных находится в каждой строке. Если строка не соответствует полностью
единственной странице, InnoDB настраивает дополнительные структуры данных
указателя так, чтобы информация о строке могла храниться в одной странице.
Один способ разместить больше данных на каждой странице состоит в том,
чтобы использовать сжатый формат строки. Для
таблиц, которые используют BLOB или большие текстовые поля,
компактный формат строки позволяет большим столбцам быть
сохраненными отдельно от остальной части строки, уменьшая ввод/вывод
и использование памяти для запросов, которые не ссылаются на те столбцы. Когда InnoDB читает или пишет наборы страниц как пакет, чтобы увеличить
пропускную способность ввода/вывода, он читает или пишет
экстент за один раз.
All the InnoDB disk data structures within a MySQL instance
share the same page size.
См. buffer pool,
compact row format,
compressed row format,
data files,
extent,
page size,
row. Фоновый поток InnoDB, который
сбрасывает
грязные страницы из
буферного пула. До MySQL 5.6 эта деятельность
была выполнена основным потоком. См. buffer pool,
dirty page,
flush,
master thread,
thread. Для выпусков до и включая MySQL 5.5, размер каждой
страницы InnoDB установлен в 16 килобайт.
Это значение представляет баланс: достаточно большой, чтобы хранить данные
для большинства строк, но все же достаточно маленький, чтобы минимизировать
издержки передачи ненужных данных к памяти. Другие значения не
проверены или поддержаны. С MySQL 5.6 размер страницы для экземпляра
может составить 4 КБ, 8 КБ или 16 КБ, чем управляет опция
Вы устанавливаете размер, создавая экземпляр MySQL, и это остается
постоянным позже. Тот же самый размер страницы относится ко всем
табличным пространствам InnoDB,
системному табличному пространству и любымм
отдельным табличным пространствам, создаваемым в режиме
file-per-table. Меньшие размеры страницы могут помочь работе с устройствами хранения
данных, которые используют маленькие размеры блока, особенно для устройств
SSD в рабочих нагрузках
disk-bound, например,
OLTP. Поскольку отдельные строки обновлены,
меньше данных скопировано в память, написано на диск, реорганизовано,
заблокировано и так далее. См. disk-bound,
file-per-table,
instance,
OLTP,
page,
SSD,
system tablespace,
tablespace. Таблица в отношениях внешнего ключа,
которые содержат начальные значения столбцов от дочерней
таблицы. Последствия удаления или обновления строк в
родительской таблице зависят от определений См. child table,
foreign key. Резервное копирование, которое содержит
некоторые из таблиц в базе данных MySQL или
некоторые из баз данных в экземпляре MySQL. См. backup,
full backup,
table. Индекс, который представляет только часть
значения столбца, как правило, первые N символов (префикс
) длинного значения См. index,
index prefix. В MySQL 5.6 хранит индексную статистику
для таблиц InnoDB на диске, обеспечивая лучший
план для запросов
, см. раздел 16.6.10.1
. См. index,
optimizer,
plan stability,
query,
table. Методология, которая жертвует работой или параллелизмом в пользу
безопасности. Уместно, если высокий процент запросов или попыток мог бы
потерпеть неудачу, или если последствия неудавшегося запроса серьезны. InnoDB
использует то, что известно, как пессимистическая стратегия
блокировки, что
минимизирует шанс тупиков. На уровне приложения
Вы могли бы избежать тупиков при использовании пессимистической стратегии
приобретения всех блокировок, необходимых транзакции в самом начале. Много встроенных механизмов базы данных используют
противоположную оптимистическую методологию.
См. deadlock,
locking,
optimistic. Строка, которая появляется в наборе результатов запроса, но не в
наборе результатов более раннего запроса. Например, если запрос выполнен
дважды в пределах транзакции,
а тем временем другая транзакция передает после вставки новой строки или
обновления строки так, чтобы это соответствовало Это возникновение известно как призрачное чтение. Более трудно принять
меры, чем неповторимое чтение, потому что
блокировка всех строк от первого набора результатов запроса не предотвращает
изменения, которые заставляют фантом появляться. Среди различных уровней изоляции призрачные
чтения предотвращены уровнем serializable read,
но позволены repeatable read,
consistent read и
read uncommitted. См. consistent read,
isolation level,
non-repeatable read,
READ UNCOMMITTED,
REPEATABLE READ,
SERIALIZABLE,
transaction. Тип работы, которая вовлекает связанные с аппаратными средствами
аспекты такие, как диск, блокировка, страницы памяти, файлы, биты, дисковые
чтения и так далее. Как правило, физические аспекты важны во время
исполнительной настройки на опытном уровне и поиска проблем. См. logical,
physical backup. Резервное копирование, которое копирует
фактические файлы с данными. Например,
См. backup,
logical backup,
MySQL Enterprise Backup
, restore. Сокращение от point-in-time recovery.
Свойство плана выполнения запроса, где
оптимизатор делает тот же самый выбор каждый раз для данного
запроса, чтобы работа была последовательна и предсказуема.
См. query,
query execution plan. В MySQL 5.1 и ранее отдельно устанавливаемая форма механизма хранения
InnoDB, который включает особенности и
исполнительные улучшения, не включенные
во встроенный InnoDB. Для MySQL 5.5 и выше дистрибутивы MySQL включают последние особенности
InnoDB и исполнительные улучшения, известные как InnoDB 1.1, и больше нет
отдельного InnoDB Plugin. Это различие важно, главным образом, в MySQL 5.1, где особенность или
исправление ошибки могли бы относиться к InnoDB Plugin, но не
ко встроенному InnoDB. Процесс восстановления резервного копирования
, чтобы обновить состояние базы данных к определенной дате и время.
Обычно обозначается как PITR.
Поскольку маловероятно, что требуемое время соответствует точно времени
резервного копирования, этот метод обычно требует комбинации
физического резервного копирования и
логического резервного копирования. Например, с
MySQL Enterprise Backup
Вы восстанавливаете последнее резервное копирование, которое Вы взяли перед
указанным моментом времени, затем переиграть изменения от
двоичного журнала между временем резервного
копирования и временем PITR. См. backup,
logical backup,
MySQL Enterprise Backup
, physical backup,
PITR. См.
index prefix. Ряд резервных файлов, произведенных
MySQL Enterprise Backup
после всех этапов применения двоичных журналов
и возрастающих резервных копий.
Получающиеся файлы готовы быть восстановленными.
До шага применения файлы известны как
сырое резервное копирование. См. binary log,
hot backup,
incremental backup,
MySQL Enterprise Backup
, raw backup,
restore. Ряд столбцов и косвенно индекс, основанный на этом наборе столбцов,
который может уникально идентифицировать каждую строку в таблице. Также это
должен быть уникальный индекс, который не содержит InnoDB требует, чтобы у каждой таблицы был такой индекс
(также названный кластеризируемым индексом или
кластерным индексом) и организует табличное
хранение, основанное на значениях столбцов первичного ключа. Выбирая значения первичного ключа, рассмотрите использование произвольных
значений (синтетический ключ) вместо того,
чтобы положиться на некоторый другой
источник (естественный ключ). См. clustered index,
index,
natural key,
synthetic key. Экземпляр программы выполнения. Операционная система переключается
между многими рабочими процессами, учитывая определенную степень
параллелизма. На большинстве операционных
систем процессы могут содержать многократные потоки
. Переключение контекста между потоками быстрее чем эквивалентное
переключение между процессами. См. concurrency,
thread. Искусственный отчет в индексе, используемый для того, чтобы
заблокировать значения ключа или диапазоны,
которые в настоящее время не существуют. См. infimum record,
locking,
supremum record. Стандарт POSIX threads, который определяет API для поточной обработки
и блокировки операций на системах Unix и Linux. На системах Unix и Linux
InnoDB использует это для mutexes. См. mutex. Тип сбора мусора, выполненного одним или более отдельными фоновыми
потоками (управляется См. history list,
MVCC,
rollback,
undo log. Метод хранения изменений вторичных индексных страниц после операции
См. change buffer,
change buffering,
delete buffering,
insert buffer,
insert buffering. Другое название список истории
См. history list,
purge. Поток в пределах процесса InnoDB,
который посвящен выполнению периодической работы
чистки. В MySQL 5.6 и выше
многократные потоки чистки включены опцией
В SQL работа, которая читает информацию
из одной или более таблиц. В зависимости от
организации данных и параметров запроса, поиск мог бы быть оптимизирован,
консультируясь с индексом.
Если многократные таблицы вовлечены, запрос известен как
join. По историческим причинам иногда обсуждения внутренней обработки для
запросов используют понятие "запрос" в более широком смысле,
включая другие типы запросов MySQL, такие как
DDL и DML. Набор решений, принятых оптимизатором относительно того, как выполнить
запрос наиболее эффективно, включая
индекс или индексы
и порядок, в который можно присоединиться к
таблицам. Стабильность плана вовлекает тот же
самый выбор, сделанный последовательно для данного запроса. См. index,
join,
plan stability,
query. См.
general query log. Уменьшение количества деятельности базы данных, часто в
подготовке к такой работе, как В MySQL 5.6 и выше Структура данных дерева для пространственной индексирующей
многомерной информации, такой как географические координаты,
прямоугольники или многоугольники. См. B-tree. Сокращение от "Redundant Array of Inexpensive Drives".
Распространение операций ввода/вывода на многие диски включает больший
параллелизму на уровне аппаратных средств и
улучшает эффективность низкого уровня операций, которые иначе были
бы выполнены в последовательности. См. concurrency. Метод для того, чтобы быстро оценить число различных значений в
столбце (количество элементов столбца). Эта работа происходит, когда
каждая таблица открыта. См. cardinality. Начальный набор резервных файлов, произведенных
MySQL Enterprise Backup перед
изменениями, отраженными в двоичном журнале и
любых возрастающих резервных копиях.
На данном этапе файлы не готовы к восстановлению
. После того, как эти изменения применены, файлы известны как
готовое резервное копирование. См. binary log,
hot backup,
ibbackup_logfile,
incremental backup,
MySQL Enterprise Backup
, prepared backup,
restore. Уровень изоляции, который использует
стратегию блокировки, которая ослабляет часть
защиты между транзакциями в интересах работы.
Транзакции не могут видеть нейтральные данные от других транзакций, но они
могут видеть данные, которые переданы другой транзакцией после того, как
текущая транзакция запускалась. Таким образом, транзакция никогда не видит
неправильных данных, но данные, которые она действительно видит, могут
зависеть до некоторой степени от синхронизации других транзакций. Когда транзакция с этим уровнем изоляции запускает
См. ACID,
isolation level,
locking,
REPEATABLE READ,
SERIALIZABLE,
transaction. Явления, такие как грязные чтения,
неповторимые чтения и
призрачные чтения, которые могут произойти,
когда транзакция читает данные, которые изменила другая транзакция. См. dirty read,
non-repeatable read,
phantom. Уровень изоляции, который обеспечивает
наименьшее количество защиты между транзакциями. Запросы используют стратегию
блокировки, которая позволяет им продолжаться в
ситуациях, где они обычно ждали бы другой транзакции. Однако, эта
дополнительная работа идет за счет менее надежных результатов, включая
данные, которые были изменены другими транзакциями и не переданы все же
(известны как грязное чтение). Используйте этот
уровень изоляции только очень осторожно и знайте, что результаты не могли бы
быть последовательными или восстанавливаемыми, в зависимости от того, что
другие транзакции делают в то же самое время. Как правило, транзакции с этим
уровнем изоляции делают только запросы, не вставляют, обновляют
или удаляют данные. См. ACID,
dirty read,
isolation level,
locking,
transaction. Внутренний снимок используется механизмом
MVCC InnoDB. Определенные
транзакции, в зависимости от их
уровня изоляции видят значения данных, как они
были в то время, когда транзакция (или в некоторых случаях, запрос)
запускалась. Уровни изоляции, которые используют представление чтения:
REPEATABLE READ,
READ COMMITTED и
READ UNCOMMITTED. См. isolation level,
MVCC,
READ COMMITTED,
READ UNCOMMITTED,
REPEATABLE READ,
transaction. Тип ввода/вывода, чтобы предварительно забрать
группу страниц в буферный пул
асинхронно, в ожидании, что эти страницы скоро будут
необходимы. Линейный метод чтения вперед предварительно приносит все страницы
одного экстента, основываясь на образцах доступа для страниц в предыдущем
экстенте и является частью всех версий MySQL, начиная с InnoDB Plugin в
MySQL 5.1. Случайный метод чтения вперед предварительно приносит все страницы
для экстента, как только определенное число страниц от того же самого
экстента находится в буферном пуле. Случайное чтение вперед не часть MySQL
5.5, но повторно введено в MySQL 5.6 под управлением опции
См. buffer pool,
extent,
page. Тип транзакции, которая может быть оптимизирована для
таблицы, устраняя часть расчетов, связанных с созданием
чтения представления
для каждой транзакции. Может только выполнить запросы
чтения без блокировки.
Это может быть запущено явно с синтаксисом
См. non-locking read,
read view,
transaction. Блокировка на индексной записи.
Например, См. gap lock,
lock,
next-key lock. Данные, в модулях отчетов, зарегистрированных в
журнале redo, когда запросы
DML производят изменения в таблицах
InnoDB. Это используется во время восстановления
катастрофического отказа, чтобы исправить данные, написанные
неполными транзакциями.
Постоянно увеличивающееся значение LSN
представляет совокупное количество данных, которые прошли через журнал. См. crash recovery,
DML,
LSN,
redo log,
transaction. Основанная на диске структура данных, используемая во время
восстановления катастрофического отказа, чтобы
исправить данные, написанные неполными транзакциями
. Во время нормального функционирования это кодирует просьбы изменить
табличные данные InnoDB, которые следуют из запросов SQL или низкого уровня
требования API через интерфейсы NoSQL. Модификации, которые не закончили
обновлять файлы с данными перед неожиданным
завершением работы
, переигрываются автоматически. Журнал физически представлен как ряд файлов, как правило, называемых
Дисковое расположение журнала под влиянием параметров конфигурации
См. crash recovery,
data files,
ib_logfile,
log buffer,
LSN,
redo,
shutdown,
transaction. Самый старый формат строки. До MySQL 5.0.3 это был единственный формат
строки, доступный в См. раздел 16.10.4.
Метод поддержания данных всегда в последовательном формате, части
ACID. В частности, данные в различных таблицах
сохранены последовательными с помощью ограничений внешнего
ключа, которые могут предотвратить изменения или
автоматически размножить те изменения на все связанные таблицы. Связанные
механизмы включают уникальное ограничение,
которое препятствует тому, чтобы двойные значения были вставлены по ошибке, и
ограничение NOT NULL, которое препятствует
тому, чтобы пустые значения были вставлены по ошибке. См. ACID,
FOREIGN KEY constraint,
NOT NULL constraint,
unique constraint. Важный аспект современных систем базы данных. Сервер базы данных
кодирует и проводит в жизнь такие отношения, как непосредственные,
"один ко многим", "многие к один" и уникальность.
Например, у человека мог бы быть ноль, один или много номеров телефонов в
базе данных адреса, единственный номер телефона мог бы быть связан с
несколькими членами семьи. В финансовой базе данных человек мог бы быть
обязан иметь точно одно удостоверение личности налогоплательщика, и любое
удостоверение личности налогоплательщика могло быть связано
только с одним человеком. Сервер базы данных может использовать эти отношения, чтобы препятствовать
тому, чтобы неправильные данные были вставлены. Например, если значение, как
объявляют, уникально, сервер может прекратить искать, как только первое
соответствие найдено, и это может отклонить попытки вставить вторую копию
того же самого значения. На уровне базы данных эти отношения выражены через особенности SQL, такие
как столбцы в пределах таблицы, уникальное и
В математическом контексте отношения в пределах базы данных получены из
теории множеств. Например, операторы См. ACID,
constraint,
foreign key,
normalized. В полнотекстовой функции поиска число,
показывающее подобие между строкой поиска и данными в индексе
FULLTEXT. Например, когда Вы ищете отдельное слово, то слово,
как правило, более важно для строки, где происходит несколько раз в тексте,
чем для строки, где это появляется только однажды. Уровень изоляции по умолчанию для
InnoDB. Это предотвращает любые строки, которые запрошены от изменения
другими транзакциями, таким образом блокируя неповторимые
чтения, но не призрачные
чтения. Это использует умеренно строгую стратегию
блокировки так, чтобы все запросы в пределах
транзакции видели данные от того же самого снимка, то есть, данные, как это
было в то время, когда транзакция запускалась. Когда транзакция с этим уровнем изоляции выполняет
См. ACID,
consistent read,
isolation level,
locking,
phantom,
SERIALIZABLE,
transaction. Практика посылки изменений от основной базы данных
одной или более ведомым базам данных
, чтобы у всех баз данных были те же самые данные. У этого метода есть
широкий диапазон использования, например, балансирование загрузки для лучшей
масштабируемости, аварийное восстановление и обновления программного
обеспечения тестирования и изменения конфигурации.
Изменения могут послать между базой данных методами, названными
основанная на строке и
основанная на запросе репликация. Процесс помещения ряда резервных файлов от
MySQL Enterprise Backup в место для
использования MySQL. Эта работа может быть выполнена, чтобы установить
поврежденную базу данных, возвратиться к некоторому более раннему моменту
времени или (в контексте репликации),
чтобы настроить новую ведомую базу данных. В
MySQL Enterprise Backup эта работа выполнена
опцией См. hot backup,
MySQL Enterprise Backup
, mysqlbackup command,
prepared backup,
replication. Команда SQL, которая заканчивает
транзакцию, отменяя любые изменения,
произведенные транзакцией. Это противоположность
commit, которая делает постоянными любые
изменения, сделанные в транзакции. По умолчанию MySQL использует опцию autocommit
, которая автоматически передает после каждого запроса SQL. Вы должны
изменить эти настройки прежде, чем Вы сможете использовать метод отмены. См. ACID,
commit,
transaction. Область хранения, содержащая журнал отмены
, часть системного табличного пространства
. См. system tablespace,
undo log. Логическая структура данных определена рядом столбцов
. Ряд строк составляет таблицу.
В пределах файлов с данными InnoDB каждая
страница может содержать одну или более строк.
Хотя InnoDB использует формат строки
для последовательности с синтаксисом MySQL, формат строки это
свойство каждой таблицы и относится ко всем строкам в той таблице. См. column,
data files,
page,
row format,
table. Дисковый формат хранения для строк таблицы
InnoDB. Поскольку InnoDB получает новые способности, такие как
сжатие, новые форматы строки введены, чтобы поддержать получающиеся
усовершенствования эффективности хранения и работы. Формат строки таблицы InnoDB определен опцией См. compact row format,
compressed row format,
dynamic row format,
file-per-table,
fixed row format,
general tablespace,
redundant row format,
row,
system tablespace,
table. Блокировка, которая препятствует тому,
чтобы строка была получена несовместимым способом другой
транзакцией. Другие строки в той же самой
таблице могут быть свободно написаны другими транзакциями. Это тип
блокировки операциями
DML на таблицах
InnoDB. Контраст с табличными блокировками,
используемыми MyISAM, или во время операций DDL
на таблицах InnoDB, которые не могут быть сделаны с DDL онлайн
: те блокировки блокируют параллельный доступ к таблице. См. DDL,
DML,
InnoDB,
lock,
locking,
online DDL,
table lock,
transaction. Форма репликации, где события размножены
от главного сервера, определяющего, как
изменить отдельные строки на ведомом сервере.
Безопасно использовать для всех настроек опции
См.
auto-increment locking,
innodb_autoinc_lock_mode
, master server,
replication,
slave server,
statement-based replication. Механизм блокировки, используемый для
таблиц InnoDB, полагаясь на
блокировки строки, а не
табличные блокировки. Многократные
транзакции могут изменить ту же самую таблицу
одновременно. Только если две операционных попытки изменить ту же самую
строку предприняты, одна из транзакций ждет завершения другой (и снятия
ее блокировки строки). См. InnoDB,
locking,
row lock,
table lock,
transaction. Низкоуровневый объект, чтобы представить и провести в жизнь
блокировки совместно используемого доступа к
внутренним структурам данных в памяти после определенных правил. Контраст с
mutexes, который нужен, чтобы представить и
провести в жизнь эксклюзивный доступ к внутренним структурам данных в памяти.
Mutexes и rw-блокировки известны все вместе как
latches. Типы Следующая матрица суммирует совместимость типов rw-блокировок. См. latch,
lock,
mutex,
Performance Schema.
Savepoint помогают осуществить вложенные транзакции
. Они могут использоваться, чтобы обеспечить контекст
операциям на таблицах, которые являются частью большей транзакции. Например,
планирование поездки в системе резервирования могло бы вовлечь заказ
нескольких различных полетов, если желаемый полет недоступен, Вы могли бы
отменить изменения, вовлеченные в заказ, не
отменяя более ранние полеты, которые были успешно заказаны. См. rollback,
transaction. Способность добавить больше работы и выпустить больше одновременных
запросов к системе, без внезапного понижения работы из-за превышения пределов
системных ресурсов. Архитектура программного обеспечения, конфигурация
аппаратных средств, кодирование приложения и тип рабочей нагрузки играют роль
в масштабируемости. Когда система достигает своей максимальной мощности,
популярные методы для того, чтобы увеличить масштабируемость это
увеличение существующих аппаратных средств или программного обеспечения
и добавить новые серверы и больше экземпляров MySQL. Часто соединяется с
доступностью как критические
аспекты крупномасштабного развертывания. См. availability,
scale out,
scale up. Метод для того, чтобы увеличить масштабируемость
, добавляя новые серверы и больше экземпляров MySQL.
Например, настраивая репликацию, MySQL Cluster, объединение соединения или
другие особенности, которые распространяют работу на группу серверов. См. scalability,
scale up. Метод для того, чтобы увеличить масштабируемость
, увеличивая возможности существующих аппаратных средств или
программного обеспечения. Например, увеличивая память на сервере и
корректируя связанные с памятью параметры
См. scalability,
scale out. Концептуально схема это ряд взаимосвязанных объектов базы данных,
таких как таблицы, столбцы таблицы, типы данных столбцов, индекы, внешние
ключи и так далее. Эти объекты соединены через синтаксис SQL, потому что
столбцы составляют таблицы, внешние ключи обращаются к таблицам и столбцам и
так далее. Идеально они также соединены логически, сотрудничая как часть
объединенного приложения или гибкой структуры. Например, базы данных
information_schema и
performance_schema используют "схему" с их именами,
чтобы подчеркнуть тесные отношения между таблицами и столбцами,
которые они содержат. В MySQL, физически, схема это синоним
базы данных. Вы можете заменить ключевое слово
Некоторые другие продукты базы данных проводят различия. Например, в
продукте базы данных Oracle Database schema
представляет только часть базы данных: таблицы и другие объекты
принадлежат единственному пользователю. См. database,
ib-file set,
INFORMATION_SCHEMA,
Performance Schema. Сокращение от serialized dictionary information
. В MySQL запросы полнотекстового поиска
используют специальный индекс FULLTEXT. В
MySQL 5.6.4 и выше Тип индекса InnoDB, который
представляет подмножество столбцов таблицы. У таблицы InnoDB может быть ноль,
один или много вторичных индексов. Контраст с кластеризируемым
индексом, который требуется для каждой таблицы InnoDB и
хранит данные для всех столбцов таблицы. Вторичный индекс может использоваться, чтобы удовлетворить запросы,
которые только требуют значений от индексированных столбцов. Для более
сложных запросов это может использоваться, чтобы идентифицировать
соответствующие строки в таблице, которые тогда получены посредством поисков,
используя кластеризируемый индекс. Создание и удаление вторичного индекса традиционно вовлекает существенные
издержки от копирования всех данных в таблице InnoDB. fast
index creation в InnoDB Plugin делает
Подразделение в пределах табличного пространства
InnoDB. Если табличное пространство походит на каталог,
сегменты походят на файлы в пределах того каталога. Сегмент может вырасти.
Могут быть созданы новые сегменты. Например, в пределах табличного пространства
file-per-table
табличные данные находятся в одном сегменте, и каждый связанный индекс
находится в его собственном сегменте. Системное табличное
пространство содержит много различных сегментов, потому что
оно может содержать много таблиц и их связанных индексов.
Системное табличное пространство также включает один или более
сегментов отмены, используемых
для журналов отмены. Сегменты растут и сжимаются, поскольку данные вставлены и удалены.
Когда сегмент нуждается в большем количестве места, он расширен на
экстент (1 мегабайт) за один раз. Точно так же
сегмент освобождает один экстент, когда все данные в том экстенте
больше не необходимы. См. extent,
file-per-table,
rollback segment,
system tablespace,
tablespace,
undo log. Свойство распределения данных, число отличных значений в столбце (его
количество элементов), разделенное на число
записей в таблице. Высокая селективность означает, что значения столбцов
относительно уникальны и могут быть эффективно получены посредством индекса.
Если Вы (или оптимизатор запросов) можете предсказать, что См. cardinality,
query. Тип работы чтения, используемой для запроса Уровень изоляции, который использует
самую консервативную стратегию блокировки, чтобы препятствовать тому, чтобы
любые другие транзакции вставили или изменили данные, которые были считаны
этой транзакцией, пока это не закончено. Этим путем тот же самый запрос может
быть выполнен много раз в пределах транзакции и быть уверен, что получил тот
же самый набор результатов каждый раз. Любая попытка изменить данные, которые
были переданы другой транзакцией, начиная с запуска текущей транзакции,
заставляет текущую транзакцию ждать. Это уровень изоляции по умолчанию, определенный стандартом SQL.
Практически, эта степень строгости редко необходима, таким образом, уровень
изоляции по умолчанию для InnoDB следующее самое строгое
значение, repeatable read. См. ACID,
consistent read,
isolation level,
locking,
REPEATABLE READ,
transaction. Метаданные об объекте словаря в преобразованном в
последовательную форму См. file-per-table,
general tablespace,
system tablespace,
tablespace. Тип программы, которая работает непрерывно, ожидая
запросы из другой программы (клиента). Поскольку часто весь компьютер
посвящен выполнению разных серверов (таких как сервер базы данных,
веб-сервер, сервер приложений или некоторая их комбинация), термин
сервер может также отнестись к компьютеру,
который выполняет программное обеспечение сервера. Своего рода блокировка, которая
позволяет другим транзакциям читать
заблокированный объект, и также приобретать другие совместно используемые
блокировки, но не писать этот объект.
Противоположность исключительной блокировки.
См. exclusive lock,
lock,
transaction. Другой способ обратиться к
системному табличному пространству. См. system tablespace. Процесс сбрасывает на диск все
грязные буферные страницы пула, чьи записи
содержатся в определенной части журнала redo.
Происходит прежде, чем InnoDB снова использует часть файла системного
журнала, файлы системного журнала используются круговым способом. Как
правило, происходит в рабочих нагрузках с интенсивной записью. См. dirty page,
flush,
redo log,
workload. Процесс остановки сервера MySQL. По умолчанию этот процесс делает
операции уборки для таблиц InnoDB, таким
образом, он может замедлить закрытие, но быстро
запустить позже. Если Вы пропускаете операции уборки, это
быстро, но должно сделать уборку во
время следующего перезапуска. Режимом завершения работы управляет опция
См. fast shutdown,
InnoDB,
slow shutdown,
startup. Часто сокращаемый к "ведомому устройству". Машина
сервера базы данных в сценарии
репликации, который получает изменения от
другого сервера (ведущее устройство) и
применяет те же самые изменения. Таким образом, это поддерживает то же самое
содержание как ведущее устройство, хотя это могло бы несколько отстать. В MySQL ведомые серверы обычно используются в аварийном восстановлении,
чтобы взять место главного сервера, который терпит неудачу.
Они также обычно используются для того, чтобы проверить обновления
программного обеспечения и новые настройки, чтобы гарантировать, что
изменения конфигурации базы данных не вызывают проблемы с
работой или надежностью. У ведомых серверов, как правило, есть высокие рабочие нагрузки, потому что
они обрабатывают все операции DML, переданные
от ведущего устройства, так же как пользовательские запросы. Чтобы
гарантировать, что ведомые серверы могут применить изменения от ведущего
устройства достаточно быстро, у них часто есть быстрые устройства
ввода/вывода, достаточный центральный процессор и память, чтобы выполнить
многократные экземпляры базы данных на том же самом ведомом сервере.
Например, главный сервер мог бы использовать жесткий диск в то время, как
ведомые серверы используют SSD. См. DML,
replication,
server,
SSD. Тип журнала, используемого для
исполнительной настройки запросов SQL, обработан сервером MySQL. Информация
журнала хранится в файле. Вы должны активировать эту опцию, чтобы
использовать это. Вы управляете, какие категории медленных запросов SQL
зарегистрированы. Для получения дополнительной информации см.
раздел 6.4.5. См. general query log,
log. Тип завершения работы, которое делает дополнительный
сброс См. clean shutdown,
fast shutdown,
shutdown. Представление данных в определённое время, которое остается тем же
самым, когда изменения переданы другими
транзакциями. Используется определенными
уровнями изоляции, чтобы
позволить последовательные чтения. Буфер, используемый для того, чтобы сортировать данные во время
создания индекса Идентификатор, используемый, чтобы уникально идентифицировать
табличное пространство С MySQL 5.6 Вы можете скопировать файлы табличного пространства между
экземплярами при использовании мобильной
особенности табличного пространства, используя См. .cfg file,
file-per-table,
general tablespace,
.ibd file,
system tablespace,
tablespace,
transportable tablespace. Тип файла, который использует пространство файловой системы более
эффективно при записи метаданных, представляющих пустые блоки вместо того,
чтобы писать фактическое пустое место. Тип ожидания, которая непрерывно
проверяет, становится ли ресурс доступным. Этот метод используется для
ресурсов, которые, как правило, проводятся только в течение кратких периодов,
где более эффективно ждать, чем поместить поток в спячку и выполнить
переключение контекста. Если ресурс не становится доступным в пределах
короткого времени, цикл прекращается, и используется другой метод ожидания.
Structured Query Language, который является стандартным для того,
чтобы выполнить операции базы данных. Часто разделен на категории
DDL, DML и
запросы. MySQL включает некоторые
дополнительные категории запроса, такие как репликация
. См. DDL,
DML,
query,
replication. Сокращение от "solid-state drive".
Тип устройства хранения данных с различными техническими характеристиками,
чем традиционный жесткий диск (HDD):
меньшая емкость хранения, быстрее для случайных чтений, никаких движущихся
частей. Его технические характеристики могут влиять на пропускную способность
нагрузок disk-bound. См. disk-bound,
SSD. Процесс запуска сервера MySQL. Как правило,
сделан одной из программ, перечисленных в
разделе 5.3. См. shutdown. Форма репликации, где запросы SQL
посылают из главного сервера и переиграны на
ведомом сервере. Требуется некоторая работа с
установкой для опции
См.
auto-increment locking,
innodb_autoinc_lock_mode
, master server,
replication,
row-based replication,
slave server. Ориентировочные стоимости, касающиеся каждой
таблицы и индекса
Значения оценены, а не посчитаны точно, потому что в любой момент
различные транзакции могут вставлять и удалять
строки из той же самой таблицы. Чтобы препятствовать частому повторному
вычислению значений, Вы можете включить постоянную статистику
, где значения сохранены в системные таблицы Вы можете управлять, как обработаны NULL,
вычисляя статистику через опцию
Другие типы статистики доступны для объектов базы данных и деятельности
базы данных через таблицы INFORMATION_SCHEMA и
PERFORMANCE_SCHEMA. См. cardinality,
index,
INFORMATION_SCHEMA,
NULL,
Performance Schema,
persistent statistics,
primary key,
query execution plan,
secondary index,
table,
transaction. Способность искать различные изменения слова, основанного на общем
слове корня, такие как исключительный, множественный и будущее время глагола.
Эта функция в настоящее время поддерживается в MyISAM с фнукцией
full-text search, но не в
индексах FULLTEXT для InnoDB. В индексе FULLTEXT слово,
которое считают настольуо распространенным или тривиальным, что оно опущено
в поисковом индексе и проигнорировано в
запросах поиска. Различные настройки конфигурации управляют stopword для
таблиц См. FULLTEXT index,
search index. Компонент базы данных MySQL, который выполняет низкоуровневую работу
хранения, обновления и запросов данных. В MySQL 5.5 и выше
InnoDB механизм хранения по умолчанию для новых
таблиц вместо MyISAM. Различные механизмы хранения разработаны с различными
факторами. Каждый механизм хранения управляет определенными таблицами, таким
образом, мы обращаемся к таблицам MySQL Enterprise Backup оптимизирован
для того, чтобы поддержать таблицы InnoDB. Это может также поддержать
таблицы, обработанные MyISAM и другими механизмами хранения. См. InnoDB,
MySQL Enterprise Backup
, table type. Общее название установки, которой управляет опция
У MySQL также есть что-то названное строгим режимом. В пределах структуры списка, которая представляет буферный пул,
страницы, которые относительно стары и относительно новые, представлены
различными частями списка. Ряд параметров управляет размером этих частей и
точкой раздела между новыми и старыми страницами. См. buffer pool,
eviction,
list,
LRU. Псевдозапись в индексе, представляет
промежуток выше самого большого значения в этом
индексе. Если у транзакции есть такой запрос, как См. gap,
infimum record,
pseudo-record. Синоним для synthetic key. См. synthetic key. Индексированный столбец, как правило первичный ключ
, где значения назначены произвольно. Часто использует
auto-increment. Обрабатывая значение как
абсолютно произвольное, Вы можете избежать чрезмерно рестриктивных правил и
дефектных предположений приложения. Числовые значения также производят более
короткие значения предсказуемой длины. Например, хранить числовые коды,
означающие "Road", "Boulevard", "Expressway" и так далее более эффективно с
точки зрения места, чем повторение тех строк много раз. Также известный как surrogate key. См. auto-increment,
natural key,
primary key,
surrogate key. Один или более файлов с данными (файлы
ibdata), содержащий метаданные для
InnoDB-связанных объектов, и области хранения для одного или более
журналов отмены, буфера изменения
и буфера doublewrite. Это
может также содержать таблицу и индексные данные для таблиц InnoDB, если
таблицы были составлены в системном табличном пространстве вместо
file-per-table или общих табличных пространствах. Данные и метаданные в
системном табличном пространстве относятся ко всем базам данных
в экземпляре MySQL. До MySQL 5.6.7 значение по умолчанию должно было сохранить все таблицы
InnoDB и индексы в системном табличном пространстве, часто заставляя этот
файл стать очень большим. Поскольку системное табличное пространство никогда
не сжимается, проблемы хранения могли возникнуть, если бы большое количество
временных данных было загружено и затем удалено. В MySQL 8.0 значение по
умолчанию это режим file-per-table,
где каждая таблица и его связанный индекс сохранены в отдельном
файле .ibd. Это новое значение по умолчанию
облегчает использовать функции InnoDB, которые полагаются на форматы строки
Опция Хранение всех табличных данных в системном табличном пространстве или в
отдельном InnoDB добавил общие табличные пространства в MySQL 5.7.6, которые также
представлены файлами См. change buffer,
compression,
data dictionary,
database,
doublewrite buffer,
dynamic row format,
file-per-table,
.ibd file,
ibdata file,
innodb_file_per_table,
instance,
MySQL Enterprise Backup
, tablespace,
undo log. Каждая таблица MySQL связана с особым механизмом
хранения. У таблиц InnoDB есть
особые физические и логические
характеристики, которые затрагивают работу,
масштабируемость, резервное копирование
и разработку приложений. С точки зрения хранения файла таблица InnoDB принадлежит к одному из
следующих типов табличного пространства: Совместно используемое системное табличное
пространство InnoDB, которое состоит из одного или
больше файлов Файлы с данными Таблицы InnoDB, составленные в табличных пространствах file-per-table,
могут использовать формат строки DYNAMIC или
COMPRESSED.
Эти форматы строки активируют такие опции InnoDB, как
сжатие,
столбцы вне страницы и префиксы индексного
ключа (см. Системное табличное пространство поддерживает таблицы, которые используют
форматы строки REDUNDANT,
COMPACT и
DYNAMIC.
Системная поддержка табличного пространства для формата строки
DYNAMIC была добавлена в MySQL 5.7.6. Строки таблицы InnoDB организованы в
индексированную структуру, известную как
кластеризируемый индекс,
с записями, сортированными основываясь на столбцах
primary key. Доступ к данным оптимизирован для
запросов, которые фильтруют и сортируют на столбцах первичного ключа, и
каждый индекс содержит копию связанных столбцов первичного ключа для каждой
записи. Изменение значений для любого из столбцов первичного ключа является
дорогой работой. Таким образом важный аспект табличного проекта InnoDB это
выбрать первичный ключ со столбцами, которые используются в самых важных
запросах, и хранение короткого первичного ключа с редким изменением значений.
См. backup,
clustered index,
compact row format,
compressed row format,
compression,
dynamic row format,
Fast Index Creation,
file-per-table,
.ibd file,
index,
off-page column,
primary key,
redundant row format,
row,
system tablespace,
tablespace. Блокировка, которая препятствует тому, чтобы любая другая
транзакция получила доступ к таблице. InnoDB
прилагает значительное усилие, чтобы сделать такие блокировки ненужными, при
использовании таких методов, как online DDL,
блокировки строки и
последовательные чтения
для того, чтобы обработать запросы и DML.
Вы можете создать такую блокировку через SQL использованием
См. consistent read,
DML,
lock,
locking,
online DDL,
query,
row lock,
table,
transaction. См.
full table scan. См.
statistics. Синоним для механизма хранения.
Мы обращаемся к таблицам См. InnoDB,
storage engine. Файл с данными, который может содержать данные для одной или более
таблиц с индексами
. Системное табличное пространство содержит
таблицы, которые составляют словарь данных
и до MySQL 5.6 все другие таблицы InnoDB по умолчанию. Опция MySQL Cluster также группирует свои таблицы в табличные пространства. См.
MySQL Cluster Disk Data Objects. См.
compressed row format,
data dictionary,
data files,
file-per-table,
general tablespace,
index,
innodb_file_per_table,
system tablespace,
table. Словарь табличного пространства существует в постоянном
табличном пространстве См. data dictionary,
file-per-table,
.frm file,
general tablespace,
.ibd file,
system tablespace,
tablespace. Таблица, данные которой не должны быть действительно постоянными.
Например, временные таблицы могли бы использоваться в качестве областей
хранения для промежуточных результатов в сложных вычислениях или
преобразованиях, эти промежуточные данные не должны быть восстановлены после
катастрофического отказа. Продукты базы данных могут взять различные ярлыки,
чтобы улучшить исполнение операций на временных таблицах, будучи менее
скрупулезными в плане записи данных на диск и других мер, чтобы защитить
данные через перезапуски. Иногда сами данные удалены автоматически в установленное время, например,
когда транзакция или сеанс заканчивается. С некоторыми продуктами базы данных
сама таблица удалена автоматически также. См. table. Табличное пространство для несжатых временных таблиц и связанных
объектов Временное табличное пространство удалено при нормальном завершении работы
или прерванной инициализации. Временное табличное пространство не удалено,
когда катастрофический отказ происходит. В этом случае администратор базы
данных может удалить временное табличное пространство вручную или
перезапустить сервер с той же самой конфигурацией, которая удаляет и
обновляет временное табличное пространство. См. ibtmp file. Набор столбцов, включенных в индекс FULLTEXT
. См. FULLTEXT index. Модуль обработки, которая, как правило, более легка, чем
процесс, учитывая больший
параллелизм. См. concurrency,
master thread,
process,
Pthreads. Состояние ошибки, которое может произойти из-за комбинации
конфигурации устройства ввода/вывода и отказа аппаратных средств. Если
данные выписаны в кусках, меньших чем размер страницы
InnoDB (по умолчанию 16KB), отказ аппаратных средств в момент записи
мог привести к только части страницы, сохраненной на диск.
Буфер doublewrite принимает меры
против этой возможности. См. doublewrite buffer. Сокращение от "transactions per
second", модуль измерения, иногда используется в точках отсчета. Его значение
зависит от рабочей нагрузки, представленной
особым оценочным испытанием, объединенным с факторами, которыми Вы
управляете, такие как пропускная способность аппаратных средств и
конфигурация базы данных. См. transaction,
workload. Транзакции это атомные единицы работы, которые могут быть переданы или
отменены. Когда транзакция производит многократные изменения в базе данных,
или все изменения преуспевают, когда транзакция передана, или все изменения
отменены, когда транзакция отменена. У транзакций базы данных, как осуществлено InnoDB, есть свойства, которые
все вместе известны как ACID. См. ACID,
commit,
isolation level,
lock,
rollback. Внутренняя область, связанная с каждой строкой. Эта область физически
изменена INSERT, UPDATE и DELETE, чтобы сделать запись, какая
транзакция заблокировала строку. См. implicit row lock.
Особенность в MySQL 5.7.8 и выше, которая разрешает сжатие на уровне
страницы для таблиц Особенность, которая позволяет табличному пространству
быть перемещенным от одного экземпляра в другой.
Традиционно это не было возможно для табличных пространств InnoDB, потому
что все табличные данные были частью
системного табличного пространства. В MySQL
5.6 и выше См. .ibd file,
space ID,
system tablespace,
tablespace. Ресурсы для того, чтобы расследовать надежность InnoDB и
исполнительные проблемы включают таблицы Information Schema. Операция DDL, которая удаляет все
содержание таблицы и связанный индекс.
Хотя концептуально у этого есть тот же самый результат, как у
Если таблица, являющаяся усеченной, содержит внешние ключи, которые
ссылаются на другую таблицу, работа усечения использует более медленный метод
работы, удаляя одну строку за один раз так, чтобы соответствующие строки в
таблице, на которую ссылаются, могли быть удалены как необходимо любым
параметром См. DDL,
drop,
foreign key,
rollback. Технический термин, определяющий упорядоченный набор элементов. Это
абстрактное понятие, используемое в формальных обсуждениях теории базы
данных. В области базы данных кортежи обычно представляются столбцами строки
таблицы. Они могли также быть представлены наборами результатов запросов,
например, запросы, которые получали только некоторые столбцы таблицы, или
столбцы от таблиц, к которым присоединяются. См. cursor. Работа, которая является частью распределенной
транзакции под спецификацией XA
. Иногда сокращаемая как 2PC. Когда многократные базы данных
участвуют в транзакции, или все базы данных
передают изменения, или все базы
данных отменяют изменения. См. commit,
rollback,
transaction,
XA. Данные, которые поддержаны в течение жизни транзакции
, делая запись всех изменений так, чтобы они могли быть
отменены в случае работы операции отмены.
Это сохранено в журнале отмены в пределах
системного табличного пространства или в
отдельных табличных пространствах отмены. См. rollback,
rollback segment,
system tablespace,
transaction,
undo log,
undo tablespace. См. undo log
. Область хранения, которая хранит копии данных, измененные активными
транзакциями. Если другая транзакция должна
видеть оригинальные данные (как часть последовательной
работы чтения), неизмененные данные
получены от этой области хранения. По умолчанию эта область физически часть системного
табличного пространства. В MySQL 5.6 и выше Вы можете
использовать опции Журнал отмены разделен на отдельные части:
буфер отмены вставки и
буфер отмены обновления. См. consistent read,
rollback segment,
SSD,
system tablespace,
transaction,
undo tablespace. Один из ряда файлов, содержащих журнал отмены
, когда журнал отмены отделен от системного табличного
пространства, используя опции
См. system tablespace,
undo log. Своего рода ограничение, которое
утверждает, что столбец не может содержать двойные значения. С точки зрения
относительной алгебры это используется, чтобы
определить отношения 1 к 1. Для эффективности в проверке, может ли значение
быть вставлено (то есть, значение не существует в столбце),
уникальное ограничение поддержано основным уникальным индексом
. См. constraint,
relational,
unique index. Индекс на столбце или наборе столбцов, у которых есть
уникальное ограничение. Поскольку
индексирование, как известно, не содержит любые двойные значения,
определенные виды поисков и операций более эффективны, чем в нормальном
индексе. Большинство поисков для этого типа индекса должны просто определить,
существует ли определенное значение или нет. Число значений в индексе
является тем же самым, как число строк в таблице, или по крайней мере число
строк с ненулевыми значениями для связанных столбцов. Оптимизация буферизации изменения не
относится к уникальному индексу. Как обходное решение, Вы можете временно
установить См. cardinality,
change buffering,
unique constraint,
unique key. Набор столбцов (один или больше)
уникального индекса. Когда Вы можете определить
Тип данных переменной длины. Типы
См. row format. Транзакция, которая автоматически выбрана, чтобы быть отмененной,
когда тупик обнаружен. InnoDB отменяет
транзакцию, которая обновила наименьшее количество строк. Виртуальный индекс, вторичный индекс на одном или более произведенных
виртуальных столбцов или на комбинации произведенных виртуальных столбцов и
непроизведенных виртуальных столбцов. Для получения дополнительной информации
см. раздел
14.1.15.6. См. base column,
generated stored column
,
generated virtual column. Когда работа, такая как приобретение блокировки
, mutex или latch
, не может быть немедленно завершена, InnoDB ждет и пробует снова.
Механизм для того, чтобы сделать паузу достаточно тщательно продуман, так что
у этой работы есть свое собственное имя, wait.
Отдельные потоки делают паузу, используя комбинацию внутреннего планирования
InnoDB, вызова операционной системы На системах с тяжелой нагрузкой и многими транзакциями, Вы могли бы
использовать вывод См. concurrency,
latch,
lock,
mutex,
spin. Резервное копирование в то время, как
база данных работает, но это ограничивает некоторые операции базы данных во
время резервного процесса. Например, таблицы могли бы стать только для
чтения. Для занятых приложений и веб-сайтов, Вы могли бы предпочесть
горячее резервное копирование. См. backup,
cold backup,
hot backup. Выполнение системы при типичной рабочей нагрузке
в течение некоторого времени после запуска, чтобы
буферный пул и другие области памяти были
заполнены, поскольку они находились бы в нормальнымх условиях. Этот процесс происходит естественно в течение долгого времени, когда
сервер MySQL перезапущен или подвергнут новой рабочей нагрузке. Начиная с
MySQL 5.6, Вы можете ускорить процесс разминки, устанавливая переменные
конфигурации
См. buffer pool,
workload. Встроенный механизм хранения InnoDB и
InnoDB Plugin поддержаны на всех версиях
Microsoft Windows как сервер MySQL. У MySQL Enterprise
Backup есть более всесторонняя поддержка систем Windows, чем
у InnoDB Hot Backup, который это заменяет. См. InnoDB,
MySQL Enterprise Backup
, plugin. Комбинация и объем SQL и других операций
базы данных, выполненных приложением базы данных во время типичного или
пикового использования. Вы можете подвергнуть базу данных особой рабочей
нагрузке во время исполнительного тестирования, чтобы идентифицировать
узкие места или во время планирования мощностей.
См. bottleneck,
CPU-bound,
disk-bound,
SQL. Метод оптимизации, который уменьшает операции записи, когда
грязные страницы сбрасываются из
буферного пула InnoDB.
Если строка в странице обновлена многократно или многие строки на той же
самой странице обновлены, все те изменения сохранены к файлам с данными в
одном запросе на запись, а не для каждого изменения. См. buffer pool,
dirty page,
flush. Стандартный интерфейс для того, чтобы скоординировать распределенные
транзакции, позволяя многократным базам данных
участвовать в транзакции, поддерживая ACID. См.
раздел 14.3.7. XA Distributed Transaction support включена по умолчанию. Если Вы не
используете эту функцию, Вы можете отключить опцию
См. commit,
transaction,
two-phase commit.
Характеристика страницы в
буферном пуле См. buffer pool,
flush,
INFORMATION_SCHEMA,
LRU,
page.
Глоссарий MySQL
A
mysqlbackup
пакета
MySQL Enterprise Backup.
Не путать с файлами .ARZ.mysqlbackup
пакета
MySQL Enterprise Backup.InnoDB
придерживаются принципов ACID.InnoDB
этому способствует
буфер doublewrite.InnoDB
, которая может ускорить
использование поисков =
и IN
, создавая
хеш-индекс в памяти. MySQL отслеживает
индексные поиски для InnoDB
и если запросы могли бы извлечь выгоду из хеш-индекса,
создает его автоматически для индексных страниц,
к которым часто получают доступ. В некотором смысле адаптивный хеш
конфигурирует MySQL во время выполнения, чтобы использовать в своих интересах
вполне достаточную основную память. Этой особенностью управляет опция
innodb_adaptive_hash_index
. Поскольку эта особенность приносит
пользу лишь некоторым рабочим нагрузкам, но не другим, а память, используемая
для хеша, индексирует, сохранена в буферном пуле
, как правило, Вы должны определить эффективность с этой
опцией, включенной и отключенной.InnoDB
,
который организован как B-tree.
MySQL может создать хеш-индекс на префиксе любой длины ключа, определенного
для B-дерева, в зависимости от образца поисков по индексу. Хеш-индекс может
быть частичным: целое B-дерево не должно кэшироваться в буферном пуле.InnoDB
это использовать плагин
InnoDB
memcached, см.
раздел 16.19.InnoDB
.apply-log
команды mysqlbackup
.InnoDB
использует этот тип ввода/вывода для определенных операций, которые могут
работать параллельно, не затрагивая надежность базы данных, таких как чтение
страниц в буферный пул,
которые фактически не требуются, но могут скоро быть необходимы.InnoDB
использует
асинхронный ввод/вывод только в системах Windows.
Начиная с InnoDB Plugin 1.1 и MySQL 5.5 InnoDB
использует асинхронный ввод/вывод на системах Linux. Это изменение вводит
зависимость от libaio
. Асинхронный ввод/вывод на системах Linux
сконфигурирован, используя опцию
innodb_use_native_aio
, которая включена по умолчанию. На других Unix-системах InnoDB
использует только синхронный ввод/вывод.AUTO_INCREMENT
), которое автоматически добавляет
последовательность возрастания значений в столбце. InnoDB
поддерживает auto-increment только для столбцов
primary key.innodb_autoinc_lock_mode=1
. Если
innodb_autoinc_lock_mode=2
, что позволяет более высокий
параллелизм для операций вставки, используйте
основанную на строке репликацию вместо
основанной на запросе.
innodb_autoinc_lock_mode=0
это предыдущая (традиционная)
настройка по умолчанию и не должна использоваться за
исключением целей совместимости.InnoDB
включает оптимизацию и опцию
innodb_autoinc_lock_mode
, чтобы Вы могли выбрать, как
балансировать между предсказуемыми последовательностями значений
автоинкремента и максимального параллелизма
для операций вставки.InnoDB
с транзакциями из
нескольких запросов. Это может помочь работе для
транзакций только для чтения в
InnoDB
, где это минимизирует издержки
блокировки и производства данных
об отмене, особенно в MySQL 5.6.4 и выше.
Это также подходяще для работы с
MyISAM
,
где транзакции неприменимы.B
BETWEEN
). Этот тип индекса
доступен для большинства механизмов хранения, например,
InnoDB
и
MyISAM
.MEMORY
.
Механизм хранения MEMORY
может также использовать B-дерево,
и Вы должны выбрать B-дерево для таблицы MEMORY
, если некоторые
запросы используют операторы диапазона.InnoDB
Page Structure
Fil Header в
MySQL Internals Manual.`
), если они содержат
специальные символы или зарезервированные слова. Например, чтобы обратиться к
таблице FOO#BAR
или столбцу SELECT
,
Вы определили бы идентификаторы как `FOO#BAR`
и
`SELECT`
. Так как обратные кавычки обеспечивают дополнительный
уровень безопасности, они используются в произведенных программой запросах
SQL, где имена идентификатора не могли бы быть известны заранее."
) вокруг таких специальных имен. Для мобильности Вы можете
включить режим ANSI_QUOTES
в MySQL и использовать двойные
кавычки вместо обратных, чтобы квалифицировать имена идентификатора.mysqldump
. У этих методов есть различные характеристики с точки
зрения размера и представления резервных данных и скорости
(особенно скорости работы восстановления).InnoDB
не использует бета обозначение, предпочитая фазу
раннего последователя, которая может расширить
более, чем несколько доработанных версий,
приводя к выпуску GA.--slave-info
.WITH QUERY EXPANSION
. Это выполняет поиск дважды,
где фраза поиска для второго поиска это оригинальная фраза поиска, связанная
с немногими наиболее очень соответствующими документами от первого поиска.
Этот метод главным образом применим для коротких фраз поиска, возможно,
только отдельное слово. Это может раскрыть соответствия, где точный критерий
поиска не происходит в документе.InnoDB
уменьшает проблемы, когда многократные сеансы читают и пишут одновременно.
InnoDB
данные для таблиц и индексов. Для эффективности большого объема операций
чтения буферный пул разделен на страницы,
которые могут потенциально содержать много строк. Для эффективности
управления кэшем буферный пул осуществлен как связанный список страниц,
данные, которые редко используются, удалены из кэша, используя версию
алгоритма LRU. На системах с большой памятью Вы
можете улучшить параллелизм, деля буферный пул на много экземпляров.InnoDB
, таблиц
information_schema
и performance_schema
помогают контролировать внутренние работы буферного пула. Начиная с MySQL
5.6, Вы можете избежать длинного периода разминки после перезапуска сервера,
особенно для случаев с большими буферными пулами, сохраняя состояние
буферного пула при завершении работы сервера и восстанавливая буферный пул в
то же самое состояние при запуске сервера. См.
раздел 16.6.3.8.innodb_buffer_pool_instances
. Полный размер памяти,
определенный
innodb_buffer_pool_size
разделен среди всех буферных экземпляров.
Как правило, наличие многократных буферных пулов
является подходящим для систем, которые выделяют много гигабайт для
буферного пула InnoDB
. При системной загрузке или поиске больших
объемов данных в буферном бассейне от многих параллельных сеансов, наличие
многократных буферных пулов уменьшает издержки для эксклюзивного доступа к
структурам данных, которые управляют буферным пулом.InnoDB
в пределах MySQL это
оригинальная форма распределения для механизма хранения. Не путать с
InnoDB Plugin. Начиная с MySQL 5.5, InnoDB
Plugin слит назад в кодовую базу MySQL как встроенный механизм хранения
(известный как InnoDB 1.1).InnoDB
.C
InnoDB
переносным табличным пространством.
Это произведено командой FLUSH TABLES ... FOR EXPORT
,
которая помещает одну или более таблиц в последовательное состояние, которое
может быть скопировано к другому серверу. Файл .cfg
скопирован наряду с соответствующим файлом .ibd
и используется, чтобы скорректировать внутренние значения файла
.ibd
, например, space ID, во время
ALTER TABLE ... IMPORT TABLESPACE
.InnoDB
основной
вид структуры кэша это буферный пул.SELECT c1 FROM t1 WHERE c1 = 50;
, мог бы возвратить 1 строку или
огромное число строк, и сервер базы данных мог бы обработать запрос
по-другому в зависимости от количества элементов c1
.SELECT c1 FROM t1 WHERE c1 = x;
мог бы возвратить 1 строку, когда x=50
, и миллион строк, когда
x=30
. В таком случае Вы, возможно, должны были бы использовать
индексные подсказки, чтобы провести совет,
который метод поиска более эффективен для особого запроса.INSERT
,
UPDATE
или
DELETE
(DML). Набор особенностей, вовлекающих буфер
изменения, известен как буферизация изменения,
состоящая из буферизации вставки,
буферизации удаления и
буферизации очистки.
innodb_change_buffering
и
innodb_change_buffer_max_size
.
Чтобы видеть информацию о текущих данных в буфере изменения, используйте
SHOW ENGINE INNODB STATUS
.
innodb_change_buffering
и
innodb_change_buffer_max_size
.InnoDB
механизм проверки допустимости, чтобы обнаружить
повреждение, когда страница в
табличном пространстве считана с диска в
буферный пул InnoDB
.
Этой особенностью управляет опция
innodb_checksums
в MySQL 5.5.
innodb_checksums
устарела в MySQL 5.6.3 и
заменена
innodb_checksum_algorithm
.binlog_checksum
,
master_verify_checksum
и
slave_sql_verify_checksum
.FOREIGN KEY ... REFERENCES
и опционально
ON UPDATE
и ON DELETE
. Соответствующая строка в
родительской таблице
должна существовать прежде, чем строка может быть создана в дочерней таблице.
Значения в дочерней таблице могут предотвратить операции удаления или
обновления на родительской таблице или может вызвать автоматическое удаление
или обновления в дочерней таблице, основанной на опции
ON CASCADE
, создавая внешний ключ.InnoDB
, где все изменения, произведенные в
памяти, были также написаны в файлы
данных. Противоположность грязной страницы.
InnoDB
перед
окончанием, в противоположность катастрофическому отказу
или быстрому завершению работы
. Синоним для медленного завершения работы
.InnoDB
для индекса primary key
. InnoDB
организован на значениях столбцов
первичного ключа, чтобы ускорить запросы и сортировки, вовлекающие столбцы
первичного ключа. Для лучшей работы выберите столбцы первичного ключа,
основанные на самых критических по отношению к работе запросах. Поскольку
изменение столбцов кластеризируемого индекса дорогая работа, выберите
основные столбцы, которые редко или никогда не обновляются.CREATE INDEX idx ON t1 (c1(N))
,
только первые N символов значения столбца сохранены в индексе. Хранение
маленького префикса индекса делает индексирование компактным. Хотя создание
слишком маленького префикса может препятствовать оптимизации запроса,
заставляя строки с различными значениями быть дубликатами.InnoDB
использует оптимистический
механизм для передачи, чтобы изменения могли быть написаны файлам с
данными прежде, чем передача фактически произойдет. Этот метод делает
передачу быстрее, хотя больше работы требуется в случае отмены.
innodb_default_row_format
, у которой есть настройка по умолчанию
DYNAMIC. Формат строки
COMPACT обеспечивает более компактное
представление для нулей и столбцов переменной
длины, чем REDUNDANT..ibd
на .ibz
. Сжатие резервных данных
позволяет Вам держать больше резервных копий под рукой и уменьшает время,
чтобы передать резервные копии серверу. Данные несжаты во время работы
восстановления. Когда сжатая резервная работа обрабатывает таблицу, которая
уже сжата, она пропускает шаг сжатия для той таблицы, потому что сжатие снова
привело бы к небольшим или никаким сбережениям пространства..ibz
.InnoDB
.
Большие области хранятся отдельно от страницы, которая содержит остальную
часть данных о строке, как в динамическом формате строки
. Обе индексных страницы и большие области сжаты. См.
раздел 16.9.InnoDB
это таблица, составленная с
ROW_FORMAT=COMPRESSED
. См.
раздел 16.9.InnoDB
допускает сжатие на уровне страницы и на уровне
таблицы. Сжатие страницы InnoDB
также упоминается как page
прозрачное сжатие страницы. См.
раздел 16.9.INFORMATION_SCHEMA.INNODB_CMP
и проверьте насколько значение
столбца COMPRESS_OPS
превышает значение столбца
COMPRESS_OPS_OK
. Идеально отказы сжатия часто не происходят,
когда они есть, Вы можете корректировать опции
innodb_compression_level
,
innodb_compression_failure_threshold_pct
и
innodb_compression_pad_pct_max
.my.cnf
, а в Windows my.ini
. Вы можете
установить много опций, связанных с InnoDB, в разделе [mysqld]
.
InnoDB
обрабатывает SELECT
в уровне изоляции
READ COMMITTED и
REPEATABLE READ.
Поскольку последовательное чтение не устанавливает никаких блокировок на
таблицы, к которым оно получает доступ, другие сеансы свободны изменить те
таблицы в то время, как последовательное чтение выполняется на таблице.InnoDB
.
Полезен для измерения, насколько занят сервер, исследуя источники
исполнительных проблем и проверяя изменения (например, настройки
конфигурации или индекс, используемый запросами) имеют желаемые
низкоуровневые эффекты. Различные виды счетчиков доступны через таблицы
Performance Schema и
INFORMATION_SCHEMA, особенно
INFORMATION_SCHEMA.INNODB_METRICS
.InnoDB
может применить этот метод оптимизации к большему
индексу, чем MyISAM, потому что вторичные индексы
InnoDB
также включают столбцы первичного
ключа. InnoDB
не может применить этот метод для
запросов для таблиц, измененных транзакцией, пока та
транзакция не заканчивается.WHERE
.
Это работает как итератор на других высокоуровневых языках, производя каждое
значение из набора результатов согласно запросу.D
InnoDB
file-per-table в каталоге базы данных
mysql
. Для словаря данных InnoDB
метаданные
физически расположены в системном табличном пространстве
InnoDB
.InnoDB
,
все резервные копии включают содержание словаря данных InnoDB
.
InnoDB
и каталоги, представляющие
отдельные базы данных. Управляется опцией
datadir
.InnoDB
, которое содержит
словарь данных
и способно хранить данные для многих таблиц InnoDB
,
представлено одним или больше файлами .ibdata
.InnoDB
, представлены файлом .ibd
.InnoDB
, также
представлены файлом .ibd
.DATA DIRECTORY
.
Общие табличные пространства, введенные в MySQL 5.7.6, также содержат
табличные данные в файлах .ibd. В отличие от
file-per-table файлов .ibd,
файлы .ibd общего табличного пространства
могут содержать табличные данные многих баз данных в пределах экземпляра
MySQL и быть назначены на каталоги относительно или независимо от
каталога данных MySQL.GRANT
и
REVOKE
.CREATE
, ALTER
и DROP
.
Также включает TRUNCATE
, потому что это работает по-другому, чем
DELETE FROM
даже при том, что окончательный эффект подобен.table_name
InnoDB
online DDL
улучшает работу для CREATE INDEX
, DROP INDEX
и многих типов
ALTER TABLE
, см.
раздел 16.12. Кроме того,
InnoDB
file-per-table
может затронуть поведение DROP TABLE
и TRUNCATE TABLE
.UPDATE
или
SELECT ... FOR UPDATE
), но в противоположном порядке. Тупик
может также произойти, когда такие запросы блокируют диапазоны индексных
записей и промежутки, с каждой транзакцией,
приобретающей некоторые блокировки, но не другие
из-за проблемы синхронизации.innodb_deadlock_detect
.InnoDB
выполняет запрос DELETE
,
строки были немедленно отмечены для удаления и больше не возвращены
запросами. Хранение исправлено когда-то позже, во время периодической уборки
мусора, известной как очистка.
Для того, чтобы удалить большие количества данных, связанные операции с их
собственными техническими характеристиками являются
TRUNCATE и DROP.
DELETE
в буфере изменения вместо
того, чтобы немедленно писать изменения, чтобы физические записи могли
быть выполнены, чтобы минимизировать случайный ввод/вывод. Поскольку операции
удаления это двухступенчатый процесс, эта работа буферизует записи, которые
обычно отмечают индексную запись для удаления. Это один из типов
буферизации изменения, другие это
буферизация insert и
буферизация очистки.ORDER BY
.
В настоящее время, хотя MySQL позволяет ключевое слово column
DESCDESC
в
CREATE TABLE
, это не
использует специального расположения хранения для получающегося индекса.InnoDB
которая была обновлена в памяти, но
изменения еще не написаны в файлы данных.InnoDB
основано на диске, это также содержит такие
особенности, как буферный пул, многократные
буферные пулы и адаптивный хеш-индекс,
которые позволяют определенным видам рабочих нагрузок работать
прежде всего в памяти.INSERT
,
UPDATE
и
DELETE
.
SELECT
иногда рассматривают как запрос DML, потому что форма
SELECT ... FOR UPDATE
подвергается тем же самым соображениям для того, чтобы
заблокировать, как
INSERT
,
UPDATE
и
DELETE
.InnoDB
работают в контексте
транзакций, таким образом, их эффекты могут
быть переданы или
отменены как единственный модуль.InnoDB
специальный столбец в таблице, содержащей
индекс FULLTEXT,
чтобы уникально идентифицировать документ, связанный с каждым значением
ilist. Его имя
FTS_DOC_ID
(верхний регистр обязателен!).
Сам столбец должен иметь тип BIGINT UNSIGNED NOT NULL
с
уникальным индексом FTS_DOC_ID_INDEX
.
Предпочтительно, Вы определяете этот столбец, составляя таблицу. Если
InnoDB
должен добавить столбец к таблице, создавая индекс
FULLTEXT
, работа индексации значительно более дорога.InnoDB
использует метод потока файла, названный
doublewrite. Перед записью страниц в
файлы данных InnoDB
сначала пишет их в непрерывную область, названную буфером doublewrite. Только
после того, как запись и сброс к буферу doublewrite завершились,
InnoDB
пишет страницы к их надлежащим позициям в файле с
данными. Если есть катастрофический отказ операционной системы, подсистемы
хранения или процесса mysqld
в середине записи страницы, InnoDB
может позже найти хорошую копию страницы из буфера doublewrite во время
восстановления катастрофического отказа.fsync()
.innodb_doublewrite=0
.DROP TABLE
или
DROP INDEX
.
Это отображается внутренне на ALTER TABLE
. Для InnoDB
исполнительное рассмотрение таких
операций вовлекает время, когда словарь данных
заблокирован, чтобы гарантировать, что взаимосвязанные объекты все обновлены,
и время, чтобы обновить структуры памяти, такие как
буферный пул. Для
таблицы у задачи drop есть несколько иные
характеристики, чем у truncate
(TRUNCATE TABLE
).InnoDB
. Поскольку длинные значения столбцов
переменной длины сохранены за пределами страницы, которая содержит данные о
строке, это очень эффективно для строк, которые включают большие объекты. Так
как к большим областям, как правило, не получают доступ, чтобы оценить
условия запроса, они не принесены в буферный пул
, приводя к меньшему количеству операций ввода/вывода и лучшему
использованию кэш-памяти.
innodb_default_row_format
, у которой есть значение
по умолчанию DYNAMIC
.E
InnoDB
REPEATABLE READ
включает более высокий параллелизм, позволяя
транзакции считать строки, у которых есть исключительные блокировки, метод,
известный как последовательное чтение.InnoDB
может составить 4 КБ, 8 КБ, или 16 КБ, этим управляет опция
innodb_page_size
. Для размеров страниц 4KB, 8KB и 16KB размер экстента
всегда 1 МБ (или 1048576 байтов).InnoDB
, как
сегменты, запросы
чтения вперед
и буферные операции ввода/вывода с
использованием буфера doublewrite, которые
читают, пишут, выделяют или освобождают данные, применяют экстент за раз.F
.frm
были удалены в MySQL 8.0, но все еще
используются в более ранних выпусках MySQL. В MySQL 8.0 данные, ранее
хранившиеся в файлах .frm
,
хранятся в таблицах словаря данных.InnoDB
избегая потребности полностью переписать
связанную таблицу. Ускорение относится также к удалению вторичного индекса.
ALTER TABLE ... ENGINE=INNODB
или
INSERT INTO ... SELECT * FROM ...
без вторичного индекса
существенно ускоряет процесс.ALTER TABLE
, не копируя
таблицу, не блокируя операции DML или то и
другое. Таким образом в MySQL 5.6 и выше, этот набор особенностей упоминается
как online DDL вместо Fast Index Creation.InnoDB
основана на установке опции
innodb_fast_shutdown=1
. Чтобы сэкономить время, определенные операции
сброса пропущены. Этот тип завершения работы
безопасен во время нормального использования, потому что операции сброса
выполнены во время следующего запуска, используя тот же самый механизм в
качестве восстановлении катастрофического отказа
. В случаях, где база данных закрывается для обновления,
сделайте медленное завершение работы вместо
этого, чтобы гарантировать, что все соответствующие изменения применены к
файлам с данными во время завершения работы.
InnoDB
для каждой таблицы, как
правило, с установкой file-per-table
включенной так, чтобы каждая таблица была сохранена в
отдельном файле .ibd
.innodb_file_per_table
, которая является важным параметром конфигурации, который
затрагивает аспекты хранения файла, доступность особенностей и характеристики
ввода/вывода. С MySQL MySQL 5.6.7
innodb_file_per_table
включена по умолчанию.
innodb_file_per_table
Вы можете составить таблицу в ее собственном
файле .ibd вместо совместно используемых
файлов ibdata системного
табличного пространства. Когда табличные данные хранятся в
отдельном файле .ibd,
у Вас есть больше гибкости, чтобы выбрать
форматы строки, требуемые для таких
особенностей, как сжатие. TRUNCATE TABLE
также быстрее, и пустое пространство, может использоваться
операционной системой вместо того, чтобы остаться
сохраненным для InnoDB
.InnoDB
пропорция страницы, которая заполнена данными
прежде, чем страница будет разделена. Неиспользуемое место, когда индексные
данные разделены между страницами, учитывает строки, которые будут обновлены
с более длинными строковыми значениями, не требуя дорогого обслуживания
индекса. Если коэффициент заполнения слишком низок, индексирование занимает
больше места, чем необходимо, вызывая дополнительный ввод/вывод, читая
индексирование. Если коэффициент заполнения слишком высок, любое обновление,
которое увеличивает длину значений столбцов, может вызвать дополнительный
ввод/вывод для обслуживания индекса, см.
раздел 16.8.10.MyISAM
, а не
InnoDB
. Если Вы создаете InnoDB
с опцией
ROW_FORMAT=FIXED
в MySQL 5.7.6 или раньше, InnoDB
использует компактный формат строки,
вместо этого, хотя значение FIXED
все еще может быть в выводе
SHOW TABLE STATUS
. С MySQL 5.7.7 InnoDB
возвращает ошибку, если определен ROW_FORMAT=FIXED
.InnoDB
, которые периодически сбрасываются,
включают журнал redo, журнал
отмены и буферный пул.InnoDB
может использовать метод, названный
нечеткой установкой контрольных точек, чтобы
сбросить маленькие пакеты страниц.InnoDB
, которая отслеживает
грязные страницы в буферном пуле
: то есть, страницы, которые
были изменены и должны быть записаны на диск. Эта структура данных часто
обновляется внутренними минитранзакциями
и защищена собственным mutex, чтобы позволить
параллельный доступ к буферному пулу.InnoDB
. Отношения внешнего ключа определены на одном столбце в
родительской таблице и в
дочерней таблице.FOREIGN KEY
могут удалить данные в дочерних строках
, изменить на различные значения или установить в
null, исходя из опции ON CASCADE
,
которая была определена, создавая внешний ключ.LIKE
. Это использует функцию SQL
MATCH()
и
индексы FULLTEXT.MyISAM
. Начиная с MySQL 5.6.4, это также доступно
для таблиц InnoDB.G
SELECT ... FOR UPDATE
, InnoDB
может создать блокировки, которые относятся к промежуткам так же, как к
фактическим значениям в индексировании. Например, если Вы выбираете все
значения, больше 10 для обновления, блокировка промежутка препятствует тому,
чтобы другая транзакция вставила новое значение, которое больше 10.
Запись supremum и запись infimum
представляют промежутки, содержащие все значения, больше или
меньше, чем все текущие значения индекса.SELECT c1 FOR UPDATE FROM t WHERE c1 BETWEEN 10 and 20;
препятствует тому, чтобы другие транзакции вставили значение 15 в
столбец t.c1
, неважно, было ли уже какое-либо такое значение в
столбце, потому что промежутки между всеми существующими
значениями в диапазоне заблокированы.general_log
.
Вы можете отключить это для определенного соединения через
опцию sql_log_off
.
SELECT
и не поддерживает строгое
упорядочивание. Для получения дополнительной информации см.
раздел 6.4.3.InnoDB
табличное пространство, созданное
CREATE TABLESPACE
.
Общие табличные пространства могут быть созданы за пределами каталога данных
MySQL, способны к хранению многих таблиц и
поддерживают таблицы всех форматов строки. Общие табличные пространства
были введены в MySQL 5.7.6.CREATE TABLE
или
tbl_name
... TABLESPACE [=]
tablespace_name
ALTER TABLE
.tbl_name
TABLESPACE [=]
tablespace_name
BEFORE
.
Виртуальный столбец не занимает места. InnoDB
допускает
вторичные индексы на произведенных виртуальных столбцах.InnoDB
, которая выполняет некоторые
низкоуровневые операции ввода/вывода однажды для ряда
передач вместо того, чтобы
синхронизировать отдельно для каждой.sync_binlog=0
, потому что групповая передача для двоичного
журнала, поддержана только, если это установлено в 0.H
BETWEEN
. Это доступно для
таблиц MEMORY
.
Хотя хеш-индекс это индекс по умолчанию для
MEMORY
по историческим причинам, этот механизм хранения также поддерживает
индексы B-tree, которые часто являются лучшим
выбором для запросов общего назначения.InnoDB
, если нужно во время выполнения.InnoDB
очистки.
Зарегистрирован в журнале отмены. О длине
списка истории сообщает команда SHOW ENGINE INNODB STATUS
.
Если список истории становится более длинным, чем значение
innodb_max_purge_lag
, каждый запрос DML
отсрочен немного, чтобы позволить работе чистки заканчивать
сброс удаленных записей.InnoDB
прозрачное сжатие страницы
полагается на поддержку hole punching. См.
раздел 16.9.2.InnoDB
, но также и на таблицы MyISAM
и другие
механизмы хранения. Это MySQL Enterprise Backup
.I
.ibd
не относится к системному табличному
пространству, которое состоит из одного или
более файлов ibdata.DATA DIRECTORY =
,
файл .ibd
расположен в указанном пути вне
нормального каталога данных..ibd
включен в сжатое резервное копирование
MySQL Enterprise Backup,
сжатый эквивалент это файл .ibz
..ibd
в .ibz
.InnoDB
в пределах базы данных MySQL: системное табличное пространство
, файлы табличного пространства
file-per-table и файлы
журнала redo.
В зависимости от версии MySQL и InnoDB
конфигурация, может также
включать общее табличное пространство,
временное табличное пространство и
табличное пространство отмены.
Этот термин иногда используется в детальных обсуждениях структуры файла и
форматов, чтобы обратиться к набору файлов, которыми управляет
InnoDB
в пределах базы данных MySQL.ibbackup_logfile
, известны как
сырое резервное копирование,
потому что изменения, которые произошли во время резервной работы, еще не
включены. После того, как Вы выполняете шаг
применения к сырым резервным файлам,
получающиеся файлы действительно включают те заключительные изменения данных,
и известны как готовое резервное копирование.
На данном этапе файл ibbackup_logfile
больше не необходим.ibdata1
,
ibdata2
и т.д., которые составляет системное
табличное пространство InnoDB. Эти файлы содержат метаданные
о InnoDB
(словарь данных
InnoDB
) и области хранения для одного или более
журналов отмены, буфера изменения
и буфера doublewrite. Они
также могут содержать некоторые или все табличные данные (в зависимости от
того, включен ли режим file-per-table, когда
каждая таблица составлена). Когда включена опция
innodb_file_per_table, данные и индексы
для составленных таблиц сохранены в отдельных файлах .ibd
, а не в системном табличном пространстве.ibdata
управляется опцией
innodb_autoextend_increment
.InnoDB
и связанных объектов. Опция конфигурационного файла
innodb_temp_data_file_path
позволяет пользователям определять
относительный путь для временного файла с данными табличного пространства.
Если
innodb_temp_data_file_path
не определена, поведение по умолчанию
должно создать единственный автомасштабируемый файл ibtmp1
в
12MB в каталоге данных рядом с ibdata1
.ib_logfile0
и
ib_logfile1
, форма журнала redo.
Также иногда называется группой журнала.
Эти файлы делают запись запросов, которые пытаются изменить данные в
InnoDB
. Эти запросы переигрываются автоматически, чтобы
исправить данные, написанные неполными транзакциями, при запуске
после катастрофического отказа.InnoDB
,
чтобы гарантировать последовательность.MEMORY
,
ключевой кэш MyISAM
и кэш запросов MySQL.InnoDB
всегда есть кластеризируемый
индекс, представление первичного ключа
. Они могут также иметь один или более вторичных
индексов, определенных на одном или более столбцах. В
зависимости от структуры, вторичный индекс может быть классифицирован как
частичный, столбцовый
или составной.MEMORY
и адаптивном хэш-индексе
InnoDB
. Индексы R-tree
используются для пространственной индексации многомерной информации.FULLTEXT
имеет его собственный отдельный индексный кэш, размером которого управляет
параметр конфигурации
innodb_ft_cache_size
.WHERE
вниз к механизму хранения, если части
условия могут быть оценены, используя области индекса
. ICP может уменьшить число раз, которое механизм
хранения должен получить доступ к базовой таблице и число
раз, которое сервер MySQL должен получить доступ к механизму хранения. Для
получения дополнительной информации см.
раздел 9.2.1.6
.FORCE INDEX
, USE INDEX
и
IGNORE INDEX
. Как правило, использутся, когда индексированные
столбцы неравно распределили значения, приводящие к неточным
оценкам количества элементов.SELECT ... FOR UPDATE ... WHERE col < 10;
,
и самое маленькое значение в столбце 5, это блокировка на infimum, которая
препятствует тому, чтобы другие транзакции вставили еще меньшие значения,
такие как 0, -10 и так далее.INFORMATION_SCHEMA.TABLES
и
INFORMATION_SCHEMA.COLUMNS
вместо использования команды
SHOW
, которая производит неструктурированный вывод.INNODB_LOCKS
и
INNODB_TRX
.
Вы используете эти таблицы, чтобы не видеть, как база данных структурирована,
но получить информацию в реальном времени о работах таблиц InnoDB, чтобы
помочь с исполнительным контролем, настройкой и поиском неисправностей.
В частности, эти таблицы предоставляют информацию об особенностях MySQL,
связанных с сжатием, транзакциями
и их связанными блокировками.
ENGINE=INNODB
, см.
главу 16 и
раздел 9.5.ENGINE=INNODB
не требуется. В MySQL 5.1
многие из усовершенствованных особенностей InnoDB требуют включения
компонента InnoDB Plugin. См. раздел
16.1.
innodb_autoinc_lock_mode
управляет алгоритмом, используемым для
блокировки auto-increment.
Когда у Вас есть постепенно увеличивающийся первичный ключ
, Вы можете использовать основанную на запросе репликацию
только с установкой
innodb_autoinc_lock_mode=1
. Эта установка известна как
последовательный режим блокировки, потому что
мультистрочная вставка в пределах транзакции, получает последовательные
значения auto-increment. Если Вы имеете
innodb_autoinc_lock_mode=2
, который позволяет более высокий
параллелизм для операций вставки, используйте основанную на строке
репликацию, а не основанную на запросе. Эта установка известна как
чередованный режим блокировки, потому что
мультистрочные вставки, работающие в то же самое время, могут получить
значения autoincrement, которые чередованы. Установка
innodb_autoinc_lock_mode=0
это предыдущая (традиционная)
настройка по умолчанию и не должна использоваться за
исключением целей совместимости.
innodb_file_per_table
включает режим
file-per-table.
С этим включенным режимом недавно составленная таблица InnoDB и связанный
индекс могут быть сохранены в отдельном файле .ibd
вне системного табличного пространства.
DROP TABLE
и
TRUNCATE TABLE
.
innodb_file_per_table
позволяет Вам использовать в своих интересах
другие особенности, такие как табличное
сжатие и резервные копии названных таблиц в
MySQL Enterprise Backup.
innodb_file_per_table
была статичной, но теперь может быть
установлена, используя SET GLOBAL
.
innodb_lock_wait_timeout
устанавливает баланс между
ожиданием совместно используемых ресурсов или отказом и
обработкой ошибки, повторением или выполнением альтернативы в Вашем
приложении. Отменяет любую транзакцию InnoDB, которая ждет больше, чем
требуемое время, чтобы приобрести блокировку.
Особенно полезно, если тупики вызваны
обновлениями многих таблиц, которыми управляют различные механизмы хранения,
такие тупики не обнаружены автоматически.
innodb_strict_mode
управляет, работает ли InnoDB в
строгом режиме, где условия, которые обычно
обрабатываются как предупреждения, вызывают ошибки вместо этого (и основные
запросы терпят неудачу).DELETE
и
UPDATE
.
Ранее только изменения, следующие из INSERT
, были буферизованы. Привилегированный термин теперь
буфер изменения.INSERT
в
буфере изменения вместо того, чтобы немедленно
записать изменения, чтобы минимизировать случайный ввод/вывод. Это один из
типов буферизации изменения.INSERT
до вставки строки.
Этот тип блокировки сигнализирует намерение вставить таким способом, которым
многократные транзакции, вставляющие в тот же самый индексный промежуток, не
должны ждать друг друга, если они не вставляют в ту же самую позицию в
пределах промежутка. Для получения дополнительной информации см.
раздел 16.5.1.INFORMATION_SCHEMA
и PERFORMANCE_SCHEMA
.J
K
L
SELECT
, который также
выполняет работу блокировки на таблице
InnoDB
. Также SELECT ... FOR
UPDATE
или SELECT ... LOCK IN SHARE MODE
.
У этого есть потенциал, чтобы произвести тупик,
в зависимости от уровня изоляции транзакции.
Противоположность чтения без блокировки. Не
позволяет глобальные таблицы в транзакции только для чтения
.
innodb_log_buffer_size
.ib_logfile
, которые
составляют журнал redo. Данные записаны в эти
файлам из буферной
области памяти журнала.N
ib_logfile0
и ib_logfile1
.
По этой причине иногда упоминаемые все вместе как
ib_logfile.mysqldump
производит логическое резервное копирование, потому что его вывод содержит
такой запрос, как CREATE TABLE
или INSERT
,
а это может обновить данные. Логическое резервное копирование предлагает
гибкость (например, Вы могли отредактировать табличные определения или
вставить запрос прежде, чем восстановить), но может занять существенно больше
времени, чтобы восстановить, чем
физическое резервное копирование.innodb_old_blocks_pct
,
innodb_old_blocks_time
и новыми в MySQL 5.6
innodb_lru_scan_depth
и
innodb_flush_neighbors
.mysqlbackup
.
Как только у Вас есть соответствие LSN времени полного резервного
копирования, Вы можете определить значение, чтобы взять последующее
возрастающее резервное копирование, вывод которого содержит другой LSN для
следующего возрастающего резервного копирования.M
MERGE
. Файлы с этим расширением всегда
включаются в резервные копии, произведенные mysqlbackup
из
MySQL Enterprise Backup.CREATE INDEX
и
DROP INDEX
для
InnoDB
: продолжиться в то время, как таблица запрашивается,
обновляется и так далее другими транзакциями.innodb_metrics
в
information_schema в MySQL 5.6 и выше.
Вы можете запросить counts
и общие количества для низкого уровня операции InnoDB, и использовать
результаты для работы, настраивающей комбинацию с данными
от performance_schema.
innodb_old_blocks_pct
. Намерение состоит в том, чтобы блоки,
которые только считаны, как во время полного сканирования
таблицы, могли быть удалены из буферного пула скорее, чем со
строгим алгоритмом LRU.INSERT
, где
auto-increment определены для некоторых, но не
всех новых строк. Например, INSERT
может определить значение для
столбца auto-increment в некоторых случаях и NULL
в других
случаях. InnoDB
производит значения auto-increment
для строк, где значение столбца было определено как NULL
. Другой
пример INSERT ...
ON DUPLICATE KEY UPDATE
, где значения auto-increment
могли бы быть произведены, но не использоваться, для любых дублирующихся
строк, которые обработаны как UPDATE
вместо INSERT
.
SHOW TABLES
, передавая запросы к
mysqld
.N
innodb_flush_neighbors
: Вы могли бы выключить ту установку для
дисков SSD, у которых нет таких издержек для того, чтобы написать
меньшие пакеты данных.SELECT ... FOR UPDATE
или SELECT ... LOCK IN SHARE MODE
. Единственный вид запроса, который позволяет глобальные таблицы в
транзакции только для чтения.NULL
, вернет NULL
.
Таким образом это подобно понятию IEEE с плавающей запятой NaN,
"not a number". Любое совокупное вычисление, такое как AVG()
,
игнорирует строки с NULL
. Единственный тест, который работает с
NULL
, использует идиомы SQL IS NULL
или
IS NOT NULL
.NULL
играют роль в индексе, потому что для работы база данных
должна минимизировать издержки отслеживания недостающих значений данных.
Как правило, NULL
не сохранены в индексировании, потому что
запрос, который проверяет индексированный столбец, используя стандартный
оператор сравнения, никогда не мог соответствовать строке с
NULL
для того столбца. По той же самой причине уникальный
индекс не предотвращает NULL
, эти значения просто не
представлены в индексе. Объявление NOT NULL
ограничение
на столбец обеспечивает, что нет никаких строк вне индекса, что упрощает
оптимизацию (точный подсчет строк и оценка того, использовать ли индекс).NULL
и многостолбцовый первичный ключ не может содержать строки с
NULL
во всех столбцах.NULL
, которое будет связано
со строкой, InnoDB обрабатывает результат такой работы как NULL
.
O
mysqlbackup
в MySQL Enterprise Backup
.BLOB
и
VARCHAR
), которые слишком длинные, чтобы разместить на странице
B-tree. Данные хранятся в
страницах переполнения. DYNAMIC
формат строки в
формате файла Barracuda
InnoDB более эффективен для такого хранения, чем более старый
формат строки COMPACT
.ALTER TABLE
), см.
раздел 16.12.ALTER TABLE
. Работа могла быть выполнена, не делая табличную
копию, или используя особенно оптимизированный тип табличной копии.
Использованием места управляет опция
innodb_online_alter_log_max_size
.innodb_
.my.cnf
, а в Windows my.ini
.BLOB
и VARCHAR
), которые слишком длинные, чтобы
поместиться на странице B-tree.
Связанные столбцы известны как столбцы вне страницы
.P
mysqlbackup
в
MySQL Enterprise Backup.InnoDB
в MySQL 5.7.6
файлы .PAR
больше не создаются для
разделенных таблиц InnoDB
.innodb_page_size
. С MySQL 5.7.6 InnoDB также оказывает поддержку для размеров страницы
32KB и 64KB. Для размеров страницы 32KB и 64KB
ROW_FORMAT=COMPRESSED
не поддержан и максимальный размер
записи составляет 16 КБ.ON UPDATE
и
ON DELETE
в определении внешнего ключа. Строки с
соответствующими значениями в дочерней таблице могли быть автоматически
удалены или обновлены в свою очередь, те столбцы могли быть установлены в
NULL
, или работа могла быть предотвращена.VARCHAR
.performance_schema
в MySQL 5.5 и выше представляет
ряд таблиц, которые Вы можете запросить, чтобы получить подробную информацию
о технических характеристиках многих внутренних деталей сервера MySQL.WHERE
.mysqlbackup
из
MySQL Enterprise Backup
производит физическое резервное копирование, потому что его вывод содержит
файлы с данными, которые могут использоваться непосредственно
mysqld
, приводя к более быстрой работе
восстановления.NULL
.
innodb_purge_threads
), это работает в периодическом графике.
Чистка обарабывает страницы журнала отмены из
списка истории с целью удаления
кластеризируемых и вторичных индексных записей, которые были отмечены для
удаления (предыдущим DELETE
)
и больше не требуются для MVCC или
отмены. Чистка освобождает страницы журнала
отмены от списка истории после обработки.DELETE
в буфере изменения вместо
того, чтобы немедленно писать изменения, чтобы минимизировать случайный
ввод/вывод. Поскольку удаления двухступенчатый процесс, эта работа буферизует
запись, которая обычно производит чистку индексного отчета, который был ранее
отмечен для удаления. Это один из типов буферизации изменения
.InnoDB
. Связан с опцией
innodb_max_purge_lag
.
innodb_purge_threads
.Q
ALTER
TABLE
, резервирование или
завершение работы. Может вовлечь выполнение
такого большого сброса, как возможно,
чтобы InnoDB не продолжил делать
фоновый ввод/вывод.FLUSH TABLES ... FOR EXPORT
пишет некоторые данные на диск для таблиц InnoDB
,
что делает проще поддержку таблиц, копируя файлы с данными.R
UPDATE ... WHERE
или DELETE ... WHERE
,
другим транзакциям, возможно, придется ждать. Транзакция может запустить
SELECT ... FOR UPDATE
и LOCK IN SHARE MODE
, не
заставляя другие транзакции ждать.innodb_random_read_ahead
.START TRANSACTION READ ONLY
или автоматически при определенных условиях. См.
раздел 9.5.3.SELECT c1 FOR UPDATE FROM t WHERE c1 = 10;
препятствует тому, чтобы любая другая транзакция вставила, обновила или
удалила строки, где значение t.c1
= 10.ib_logfile0
и ib_logfile1
. Данные в журнале
закодированы с точки зрения затронутых записей, эти данные все вместе
упоминаются как redo. Проход данных через
журналы представлен постоянно увеличивающимся значением LSN
. Оригинальный предел в 4GB на максимальный размер для
журнала redo поднят до 512GB в MySQL 5.6.3.innodb_log_file_size
,
innodb_log_group_home_dir
и (редко)
innodb_log_files_in_group
. Исполнение операций журнала затронуто
буфером журнала, которым управляет опция
innodb_log_buffer_size
.InnoDB
. С MySQL 5.0.3 до MySQL 5.7.8
формат строки по умолчанию COMPACT.
С MySQL 5.7.9 формат строки по умолчанию определен опцией
innodb_default_row_format
, у которого есть настройка по умолчанию
DYNAMIC. Вы можете все еще определить
формат строки REDUNDANT
для совместимости с более старым таблицами InnoDB
.NOT NULL
ограничения,
внешние ключи и различные виды операций
соединения. Сложные отношения, как правило, вовлекают разделение данных
больше, чем между одной таблицей. Часто данные нормализованы
, чтобы двойные значения в отношениях "один ко
многим" были сохранены только однажды.OR
и AND
в WHERE
представляют понятия союза и пересечения.UPDATE ... WHERE
, DELETE ... WHERE
,
SELECT ... FOR UPDATE
и LOCK IN SHARE MODE
, другим
транзакциям, возможно, придется ждать.copy-back
команды mysqlbackup
.ROW_FORMAT
или
innodb_default_row_format
(с MySQL 5.7.9). Форматы строки включают
REDUNDANT
, COMPACT
, COMPRESSED
и
DYNAMIC
. Чтобы просмотреть формат строки таблицы InnoDB, Вы
можете скомандовать SHOW TABLE STATUS
или запросить
INFORMATION_SCHEMA.INNODB_SYS_TABLES
(в MySQL 5.6 или выше).
innodb_autoinc_lock_mode
.rw-lock
включают
s-locks
(совместно используемые блокировки),
x-locks
(исключительные блокировки) и
sx-locks
(совместно используемо-исключительные блокировки).s-lock
обеспечивает доступ чтения к общему ресурсу.
x-lock
обеспечивает доступ на запись к общему ресурсу, не
разрешая непоследовательные чтения другими потоками.sx-lock
обеспечивает доступ на запись к общему ресурсу,
разрешая непоследовательные чтения другими потоками. sx-locks
были введены в MySQL 5.7, чтобы оптимизировать
параллелизм и улучшить масштабируемость.
S
SX
X
S
Совместимы Совместимы Конфликтуют SX
Совместимы
Конфликтуют Конфликтуют X
Конфликтуют
Конфликтуют Конфликтуют S
innodb_buffer_pool_size
и
innodb_buffer_pool_instances
.SCHEMA
на DATABASE
в MySQL-синтаксисе SQL,
например, используя CREATE SCHEMA
вместо CREATE DATABASE
.InnoDB
и MyISAM
поддерживают индексы FULLTEXT
, ранее
они были доступны только для таблиц MyISAM
.CREATE INDEX
и DROP INDEX
намного быстрее для вторичных индексов.WHERE
соответствует только небольшое число (или пропорция) строк в таблице, полный
запрос имеет тенденцию быть эффективным, если
это оценивает тот тест сначала, используя индекс.UPDATE
,
который является комбинацией read committed и
consistent read. Когда UPDATE
исследует строку, которая уже заблокирована, InnoDB возвращает последнюю
переданную версию в MySQL так, чтобы MySQL мог определить, соответствует ли
строка WHERE
условию UPDATE
.
Если строка соответствует (должна быть обновлена), MySQL читает строку снова,
и на сей раз InnoDB или блокирует ее или ждет блокировки на ней. Этот тип
работы чтения может произойти только, когда у транзакции есть
уровень изоляции read committed, или когда
включена опция innodb_locks_unsafe_for_binlog
, которая
удалена в MySQL 8.0.BLOB
.innodb_fast_shutdown
.InnoDB
перед завершением. Также известный как
чистое завершение работы. Определен параметром
конфигурации
innodb_fast_shutdown=0
или командой SET GLOBAL
innodb_fast_shutdown=0;
. Хотя само завершение работы может занять
больше времени, это время будет сэкономлено при последующем запуске.InnoDB
. Размер настроен опцией
innodb_sort_buffer_size
.InnoDB
в пределах экземпляра MySQL. ID для системного табличного
пространства всегда ноль, это же самое ID относится ко всем
таблицам в пределах системного табличного пространства или в пределах общего
табличного пространства. У каждого табличного пространства
file-per-table
и общего табличного пространства есть свой собственный ID.FLUSH TABLES ... FOR
EXPORT
, ALTER TABLE ... DISCARD TABLESPACE
и
ALTER TABLE ... IMPORT TABLESPACE
.
Информация должна была корректировать ID в файле .cfg
, который Вы копируете наряду с табличным пространством. См.
раздел 16.7.6.InnoDB
прозрачная особенность сжатия страницы полагается на эту поддержку, см.
раздел 16.9.2.innodb_autoinc_lock_mode
, чтобы избежать потенциальных
проблем синхронизации с блокировкой auto-increment
.InnoDB
, используемые, чтобы создать эффективный
план выполнения запроса. Основные значения это
количество элементов (число отличных значений)
и общее количество строк таблицы или индексных записей. Статистические данные
для таблицы представляют данные в индексе primary key
. Статистические данные для вторичного индекса
представляют строки, покрытые этим индексом.InnoDB
и освежены только, когда Вы командуете
ANALYZE TABLE
.innodb_stats_method
.InnoDB
и MyISAM
, см.
раздел 13.9.4.InnoDB
, MyISAM
и
т.д.innodb_strict_mode
. Включение этой установки вызывает определенные условия, которые
обычно обрабатываются как предупреждения, чтобы считаться ошибками. Например,
определенные недопустимые комбинации опций, связанных с
форматом файла и
форматом строки,
которые обычно производят предупреждение и продолжаются со значениями по
умолчанию, теперь вызывают ошибку в CREATE TABLE
.SELECT ... FOR UPDATE
... WHERE col > 10;
и самое большое значение в столбце 20,
блокировка на записи supremum препятствует тому, чтобы другие транзакции
вставили еще большие значения, такие как 50, 100 и так далее.DYNAMIC
и COMPRESSED
, например,
сжатие, хранение вне страницы длинных значений
столбцов переменной длины и большие индексные ключевые префиксы
(innodb_large_prefix
).
innodb_undo_tablespaces
позволяет Вам конфигурировать отдельные
файлы табличного пространства для журналов отмены. Эти файлы все еще
считаются частью системного табличного пространства..ibd
имеет значение для управления хранением вообще.
MySQL Enterprise Backup
мог бы поддержать маленький набор больших файлов или много меньших файлов. На
системах с тысячами таблиц, операции файловой системы для
тысяч файлов .ibd
могут вызвать узкие места..ibd
. Общие табличные пространства
это совместно используемые табличные пространства, создаваемые
CREATE TABLESPACE
.
Они могут быть созданы за пределами каталога данных MySQL, способны к
хранению многих таблиц и поддерживают таблицы всех форматов строки.T
.ibdata
..ibd
..ibd
. Добавлены в MySQL 5.7.6..ibd
содержат таблицу и индексные данные.innodb_large_prefix
).
Общие табличные пространства поддерживают все форматы строки.LOCK TABLE
, один из шагов в перемещении от других систем базы
данных или механизмов хранения MySQL должен удалить такие запросы
везде, где можно.InnoDB
,
MyISAM
и т.д.
innodb_file_per_table
, которая включена по умолчанию в MySQL 5.6 и
выше, позволяет таблицам создаваться в табличных пространствах file-per-table
с отдельным файлом данных для каждой таблицы.
Включение
innodb_file_per_table
делает доступными другие особенности MySQL,
такие как табличное сжатие и мобильные табличные пространства. См.
раздел 16.7.4.InnoDB
. Это хранит Serialized Dictionary
Information (SDI) для объектов в пределах табличного пространства.InnoDB
, введенное в MySQL 5.7.1.
Опция конфигурационного файла
innodb_temp_data_file_path
позволяет пользователям определять
относительный путь для временного файла с данными табличного пространства.
Если
innodb_temp_data_file_path
не определена, поведение по умолчанию
должно создать единственный автомасштабируемый файл в 12MB с именем
ibtmp1
в каталоге данных, рядом с системными файлами табличного
пространства ibdata
. Временное табличное пространство обновлено
при каждом запуске сервере и получает динамически произведенное ID,
которое помогает избежать конфликтов с существующими ID.
Временное табличное пространство не может находиться на сыром устройстве.
В запуске отказывают, если временное табличное пространство не
может быть создано.InnoDB
, которые находятся в табличных
пространствах file-per-table. Сжатие страницы включено, определяя признак
COMPRESSION
в CREATE TABLE
или ALTER TABLE
.
См. раздел 16.9.2.FLUSH TABLES ... FOR EXPORT
готовит таблицу InnoDB к тому, что она будет скопирована на другой
сервер, выполнение ALTER TABLE ...
DISCARD TABLESPACE
и ALTER
TABLE ... IMPORT TABLESPACE
на другом сервере
приносит скопированный файл с данными. Отдельный файл .cfg
,
скопированный наряду с файлом .ibd,
используется, чтобы обновить табличные метаданные (например,
space ID), см.
раздел 16.7.6.DELETE
без WHERE
, это работает по-другому негласно:
InnoDB составляет новую пустую таблицу, удаляет старую таблицу, затем
переименовывает новую таблицу. Поскольку это работа DDL, это не
может быть отменено.ON DELETE CASCADE
. MySQL 5.5 и выше не позволяют
эту более медленную форму и возвращают ошибку вместо этого, если внешние
ключи вовлечены. В этом случае используйте DELETE
.U
innodb_undo_tablespaces
и
innodb_undo_directory
, чтобы разделить это на один или более отдельных файлов
табличного пространства,
табличные пространства отмены произвольно сохранены на другом
устройстве хранения данных, таком как SSD.
innodb_undo_tablespaces
и
innodb_undo_directory
. Только для MySQL 5.6 и выше.unique_checks=0
в то время, как выполняется оптовая
загрузка данных в таблицу InnoDB.WHERE
, которое соответствует точно одной строке, и запрос может
использовать связанный уникальный индекс, поиск и обработка ошибок могут быть
выполнены очень эффективно.V
VARCHAR
,
VARBINARY
,
BLOB
и
TEXT
переменной длины. См.
раздел 12.8.InnoDB
рассматривает
CHAR
как тип переменной длины, если таблица составлена, используя
формат строки COMPACT
, DYNAMIC
или
COMPRESSED
, и значение столбца
CHAR
больше чем или равно 768 байтам, которые могут произойти,
если максимальная длина байта набора символов больше 3, как
это с обстоит с utf8mb4
.W
wait()
,
и короткой продолжительности циклов spin.SHOW INNODB STATUS
, чтобы определить,
проводят ли потоки слишком много времени ожидая, и если это так, как Вы
можете улучшить параллелизм.innodb_buffer_pool_dump_at_shutdown=ON
и
innodb_buffer_pool_load_at_startup=ON
, чтобы
возвращать содержание буферного пула в память после перезапуска. Как правило,
Вы выполняете рабочую нагрузку в течение некоторого времени, чтобы нагреть
буферный пул прежде, чем выполнить тесты производительности и гарантировать
последовательные результаты, иначе работа могла бы быть искусственно низкой
во время первого показа.X
innodb_support_xa
,
избегая исполнения дополнительного fsync для каждой транзакции.Y
InnoDB
, имеющяя в
виду, что к это недавно был получен доступ, и страница перемещена в пределах
буферной структуры данных пула, чтобы это скоро не сбросилось
алгоритмом LRU. Этот термин
использован в некоторых информационных именах
столбцов схемы таблиц,
связанных с буферным пулом.
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.