Таблица FILES обеспечивает информацию относительно файлов, в которых сохранены данные дисковых таблиц MySQL NDB.

INFORMATION_SCHEMA

Name

SHOW

Name

Remarks

FILE_ID

MySQL extension

FILE_NAME

MySQL extension

FILE_TYPE

MySQL extension

TABLESPACE_NAME

MySQL extension

TABLE_CATALOG

MySQL extension

TABLE_SCHEMA

MySQL extension

TABLE_NAME

MySQL extension

LOGFILE_GROUP_NAME

MySQL extension

LOGFILE_GROUP_NUMBER

MySQL extension

ENGINE

MySQL extension

FULLTEXT_KEYS

MySQL extension

DELETED_ROWS

MySQL extension

UPDATE_COUNT

MySQL extension

FREE_EXTENTS

MySQL extension

TOTAL_EXTENTS

MySQL extension

EXTENT_SIZE

MySQL extension

INITIAL_SIZE

MySQL extension

MAXIMUM_SIZE

MySQL extension

AUTOEXTEND_SIZE

MySQL extension

CREATION_TIME

MySQL extension

LAST_UPDATE_TIME

MySQL extension

LAST_ACCESS_TIME

MySQL extension

RECOVER_TIME

MySQL extension

TRANSACTION_COUNTER

MySQL extension

VERSION

MySQL extension

ROW_FORMAT

MySQL extension

TABLE_ROWS

MySQL extension

AVG_ROW_LENGTH

MySQL extension

DATA_LENGTH

MySQL extension

MAX_DATA_LENGTH

MySQL extension

INDEX_LENGTH

MySQL extension

DATA_FREE

MySQL extension

CREATE_TIME

MySQL extension

UPDATE_TIME

MySQL extension

CHECK_TIME

MySQL extension

CHECKSUM

MySQL extension

STATUS

MySQL extension

EXTRA

MySQL extension

Примечания:

FILE_ID значения столбца автосгенерированы.

FILE_NAME имя журнала UNDO, созданного CREATE LOGFILE GROUP или ALTER LOGFILE GROUP, либо файла данных, созданного CREATE TABLESPACE или ALTER TABLESPACE.

FILE_TYPE одно из значений UNDOFILE или DATAFILE.

TABLESPACE_NAME имя пространства таблиц, с которым файл связан.

В MySQL 5.1 значение столбца TABLESPACE_CATALOG всегда NULL.

TABLE_NAME имя дисковой таблицы данных, с которой файл связан, если есть.

Столбец LOGFILE_GROUP_NAME дает имя группы журнала, которой журнал или файл данных принадлежит.

Для журнала UNDO LOGFILE_GROUP_NUMBER содержит автосгенерированный номер ID группы журналов, к которой журнал принадлежит.

Для журнала данных MySQL Cluster или файла данных, значение столбца ENGINE всегда NDB или NDBCLUSTER.

Для журнала данных MySQL Cluster или файла данных, значение столбца FULLTEXT_KEYS всегда пусто.

Столбец FREE EXTENTS отображает число блоков, которые еще не использовались файлом. Столбец TOTAL EXTENTS показывает общее число блоков, распределенных файлу.

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

SELECT TOTAL_EXTENTS – FREE_EXTENTS AS extents_used

FROM INFORMATION_SCHEMA.FILES

WHERE FILE_NAME = 'myfile.dat';

Вы можете аппроксимировать количество дискового пространства, находящегося в использовании файлом, умножая это различие на значение столбца EXTENT_SIZE, который дает размер блока для файла в байтах:

SELECT (TOTAL_EXTENTS – FREE_EXTENTS) * EXTENT_SIZE AS bytes_used

FROM INFORMATION_SCHEMA.FILES

WHERE FILE_NAME = 'myfile.dat';

Точно так же Вы можете оценивать количество места, которое остается доступным в данном файле, умножая FREE_EXTENTS на EXTENT_SIZE:

SELECT FREE_EXTENTS * EXTENT_SIZE AS bytes_free

FROM INFORMATION_SCHEMA.FILES

WHERE FILE_NAME = 'myfile.dat';

Важно: значения байт, произведенные предшествующими запросами только приближения, и их точность обратно пропорциональна значению EXTENT_SIZE. То есть, больший EXTENT_SIZE становится менее точным.

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

Размер блока может быть установлен в инструкции CREATE TABLESPACE.

Столбец INITIAL_SIZE показывает размер в байтах файла. Это то же самое значение, которое использовалось в предложении INITIAL_SIZE команд CREATE LOGFILE GROUP, ALTER LOGFILE GROUP, CREATE TABLESPACE или ALTER TABLESPACE использовавшихся, чтобы создать файл.

Для файлов MySQL 5.1 Cluster Disk Data значение столбца MAXIMUM_SIZE всегда такое же, как INITIAL_SIZE, а столбец AUTOEXTEND_SIZE всегда пуст.

Столбец CREATION_TIME показывает дату и время, когда файл был создан. LAST_UPDATE_TIME отображает дату и время, когда файл был последний раз изменен. LAST_ACCESSED обеспечивает дату и время, когда к файлу последний раз обращался сервер.

В настоящее время значения этих столбцов сообщены операционной системой и не обеспечены NDB. Там, где никакое значение не обеспечивается операционной системой, эти столбцы отображаются 0000-00-00 00:00:00.

Для файлов данных MySQL Cluster значение столбцов RECOVER_TIME и TRANSACTION_COUNTER всегда 0.

Для файлов данных MySQL 5.1 Cluster следующие столбцы всегда NULL:

VERSION

ROW_FORMAT

TABLE_ROWS

AVG_ROW_LENGTH

DATA_LENGTH

MAX_DATA_LENGTH

INDEX_LENGTH

DATA_FREE

CREATE_TIME

UPDATE_TIME

CHECK_TIME

CHECKSUM

Для файлов данных MySQL Cluster значение столбца STATUS всегда NORMAL.

Для файлов данных MySQL Cluster столбец EXTRA показывает, которому узлу данных принадлежит файл, поскольку каждый узел данных имеет собственную копию файла. Например, предположите, что Вы используете эту инструкцию относительно MySQL Cluster с четырьмя узлами данных:CREATE LOGFILE GROUP mygroup

ADD UNDOFILE 'new_undo.dat'

INITIAL_SIZE 2G ENGINE NDB;

После удачного выполнения инструкции CREATE LOGFILE GROUP Вы должны видеть результат, подобный показанному здесь для этого запроса к таблице FILES:

mysql> SELECT LOGFILE_GROUP_NAME, FILE_TYPE, EXTRA

– > FROM INFORMATION_SCHEMA.FILES

– > WHERE FILE_NAME = 'new_undo.dat';

+--------------------+-----------+----------------+

| LOGFILE_GROUP_NAME | FILE_TYPE | EXTRA |

+--------------------+-----------+----------------+

| mygroup | UNDO FILE | CLUSTER_NODE=3 |

| mygroup | UNDO FILE | CLUSTER_NODE=4 |

| mygroup | UNDO FILE | CLUSTER_NODE=5 |

| mygroup | UNDO FILE | CLUSTER_NODE=6 |

+--------------------+-----------+----------------+

4 rows in set (0.01 sec)

Таблица FILES ненормативная. Это было добавлено в MySQL 5.1.6.

Не имеется никаких команд SHOW, связанных с таблицей FILES.