Spec-Zone.ru › MariaDB

Таблица 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

См. также

  • mysqlshow
  • SHOW TABLE STATUS
  • Поиск таблиц без первичных ключей
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется предварительно компанией 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/information-schema-tables-table/

Spec-Zone.ru

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