Таблица TABLES схемы Information Schema
Таблица Information Schema отображает информацию о различных таблицах (до MariaDB 11.2.0, только о не-TEMPORARY таблицах, за исключением таблиц из базы данных Information Schema) и представлениях на сервере.
Она содержит следующие столбцы:
| Столбец | Описание |
|---|---|
TABLE_CATALOG |
Всегда def. |
TABLE_SCHEMA |
Имя базы данных. |
TABLE_NAME |
Имя таблицы. |
TABLE_TYPE |
Одно из BASE TABLE для обычной таблицы, VIEW для представления, SYSTEM VIEW для таблиц Information Schema, SYSTEM VERSIONED для таблиц с системной версией, SEQUENCE для последовательностей или, начиная с MariaDB 11.2.0, TEMPORARY для локальных временных таблиц. |
ENGINE |
Двигатель хранилища. |
VERSION |
Номер версии из файла .frm таблицы. |
ROW_FORMAT |
Формат строк (см. InnoDB, Aria и MyISAM форматы строк). |
TABLE_ROWS |
Число строк в таблице. Некоторые движки, такие как XtraDB и InnoDB, могут хранить оценку. |
AVG_ROW_LENGTH |
Средняя длина строки в таблице. |
DATA_LENGTH |
Для InnoDB/XtraDB, размер индекса в страницах, умноженный на размер страницы. Для Aria и MyISAM, длина файла данных в байтах. Для MEMORY, приблизительный выделенный объем памяти. |
MAX_DATA_LENGTH |
Максимальная длина файла данных, т.е. общее количество байт, которое может быть хранено в таблице. Не используется в XtraDB и InnoDB. |
INDEX_LENGTH |
Длина файла индекса. |
DATA_FREE |
Выделенные, но неиспользуемые байты. Для таблиц InnoDB в общем пространстве таблиц, свободное пространство общего пространства таблиц с небольшим запасом. Оценка в случае разнесенных таблиц — см. таблицу PARTITIONS. |
AUTO_INCREMENT |
Следующее значение AUTO_INCREMENT. |
CREATE_TIME |
Время создания таблицы. Некоторые движки просто возвращают здесь информацию ctime из уровня файловой системы, в этом случае значение необязательно является временем создания таблицы, а скорее временем последнего изменения метаданных файловой системы для нее. |
UPDATE_TIME |
Время последнего обновления таблицы. В Windows метка времени не обновляется при обновлении, поэтому значения MyISAM будут неточны. В InnoDB, если используются общие пространства таблиц, будет NULL, при этом буферизация также может задерживать обновление, поэтому значение будет отличаться от фактического времени последнего UPDATE, INSERT или DELETE. |
CHECK_TIME |
Время последней проверки таблицы. Не сохраняется всеми движками хранилища, в этом случае будет NULL. |
TABLE_COLLATION |
Набор символов и сортировка. |
CHECKSUM |
Значение контрольной суммы в реальном времени, если таковое имеется. |
CREATE_OPTIONS |
Дополнительные CREATE TABLE параметры. |
TABLE_COMMENT |
Комментарий к таблице, предоставленный при создании таблицы MariaDB. |
MAX_INDEX_LENGTH |
Максимальная длина индекса (поддерживается таблицами MyISAM и Aria). Добавлено в MariaDB 10.3.5. |
TEMPORARY |
До MariaDB 11.2.0, заполнитель, указывающий, что таблица является временной таблицей и всегда "N", за исключением "Y" для сгенерированных таблиц information_schema и NULL для представлений. Начиная с MariaDB 11.2.0, также будет установлено в "Y" для локальных временных таблиц. Добавлено в MariaDB 10.3.5. |
Хотя таблица стандартна в Information Schema, все, кроме TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE и VERSION являются расширениями MySQL и MariaDB.
SHOW TABLES перечисляет все таблицы в базе данных.
Примеры
Начиная с MariaDB 10.3.5:
SELECT * FROM information_schema.tables WHERE table_schema='test'\G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: test
TABLE_NAME: xx5
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: 10
ROW_FORMAT: Dynamic
TABLE_ROWS: 0
AVG_ROW_LENGTH: 0
DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2020-11-18 15:57:10
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: latin1_swedish_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT:
MAX_INDEX_LENGTH: 0
TEMPORARY: N
*************************** 2. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: test
TABLE_NAME: xx4
TABLE_TYPE: BASE TABLE
ENGINE: MyISAM
VERSION: 10
ROW_FORMAT: Fixed
TABLE_ROWS: 0
AVG_ROW_LENGTH: 0
DATA_LENGTH: 0
MAX_DATA_LENGTH: 1970324836974591
INDEX_LENGTH: 1024
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2020-11-18 15:56:57
UPDATE_TIME: 2020-11-18 15:56:57
CHECK_TIME: NULL
TABLE_COLLATION: latin1_swedish_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT:
MAX_INDEX_LENGTH: 17179868160
TEMPORARY: N
...
Пример с temporary = 'y', начиная с MariaDB 10.3.5:
SELECT * FROM information_schema.tables WHERE temporary='y'\G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: information_schema
TABLE_NAME: INNODB_FT_DELETED
TABLE_TYPE: SYSTEM VIEW
ENGINE: MEMORY
VERSION: 11
ROW_FORMAT: Fixed
TABLE_ROWS: NULL
AVG_ROW_LENGTH: 9
DATA_LENGTH: 0
MAX_DATA_LENGTH: 9437184
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2020-11-17 21:54:02
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: utf8_general_ci
CHECKSUM: NULL
CREATE_OPTIONS: max_rows=1864135
TABLE_COMMENT:
MAX_INDEX_LENGTH: 0
TEMPORARY: Y
...
Просмотр таблиц по размеру
Возвращает список всех таблиц в базе данных, упорядоченных по размеру:
SELECT table_schema as `DB`, table_name AS `Table`, ROUND(((data_length + index_length) / 1024 / 1024), 2) `Size (MB)` FROM information_schema.TABLES ORDER BY (data_length + index_length) DESC; +--------------------+---------------------------------------+-----------+ | DB | Table | Size (MB) | +--------------------+---------------------------------------+-----------+ | wordpress | wp_simple_history_contexts | 7.05 | | wordpress | wp_posts | 6.59 | | wordpress | wp_simple_history | 3.05 | | wordpress | wp_comments | 2.73 | | wordpress | wp_commentmeta | 2.47 | | wordpress | wp_simple_login_log | 2.03 | ...
Начиная с MariaDB 11.2.0
CREATE TEMPORARY TABLE foo.t1 (a int);
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='foo' AND TEMPORARY='y'\G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: foo
TABLE_NAME: t1
TABLE_TYPE: TEMPORARY
...
TEMPORARY: Y
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/information-schema-tables-table/