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