Spec-Zone.ru › MariaDB

ТАБЛИЦА КОНТРОЛЬНОЙ СУММЫ

Синтаксис

CHECKSUM TABLE tbl_name [, tbl_name] ... [ QUICK | EXTENDED ]

Описание

CHECKSUM TABLE сообщает контрольную сумму таблицы. Это очень полезно, если вы хотите узнать, совпадают ли две таблицы (например, на главном и ведомом серверах).

С помощью QUICK, сообщается контрольная сумма живой таблицы, если она доступна, или NULL в противном случае. Это очень быстро. Живая контрольная сумма активируется путем указания параметра таблицы CHECKSUM=1 при создании таблицы; в настоящее время это поддерживается только для таблиц Aria и MyISAM.

С помощью EXTENDED, вся таблица считывается построчно, и вычисляется контрольная сумма. Это может быть очень медленно для больших таблиц.

Если не указаны ни QUICK, ни EXTENDED, MariaDB возвращает живую контрольную сумму, если движок хранения таблицы её поддерживает, и в противном случае сканирует таблицу.

CHECKSUM TABLE требует права SELECT для таблицы.

Для несуществующей таблицы, CHECKSUM TABLE возвращает NULL и генерирует предупреждение.

Формат строк таблицы влияет на значение контрольной суммы. Если формат строк изменится, контрольная сумма изменится. Это означает, что при обновлении таблицы, созданной с версией MariaDB/MySQL, до другой версии, значение контрольной суммы, скорее всего, изменится.

Две идентичные таблицы всегда должны соответствовать одному и тому же значению контрольной суммы; однако, даже для неидентичных таблиц существует очень небольшая вероятность, что они вернут одно и то же значение, поскольку алгоритм хэширования не является полностью свободным от коллизий.

Идентичные таблицы

Идентичные таблицы означают, что оператор CREATE идентичен и что следующая переменная, которая влияет на форматы хранения, была такой же при создании таблиц:

  • mysql56-temporal-format

Различия между MariaDB и MySQL

CHECKSUM TABLE может дать другой результат, так как MariaDB не игнорирует NULL в столбцах, как MySQL 5.1 (более поздние версии MySQL должны вычислять контрольные суммы так же, как MariaDB). Вы можете получить контрольную сумму «старого стиля» в MariaDB, запустив mysqld с параметром --old. Обратите внимание, однако, что движки хранения MyISAM и Aria в MariaDB используют новую контрольную сумму внутри, поэтому если вы используете --old, команда CHECKSUM будет медленнее, так как ей необходимо вычислить контрольную сумму построчно. Начиная с MariaDB Server 10.9, --old устарела и будет удалена в будущей версии. Установите --old-mode или OLD_MODE на COMPAT_5_1_CHECKSUM для получения контрольной суммы «старого стиля».

Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержание не просматривается предварительно MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/checksum-table/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API