| |
Вы можете использовать старый тип таблиц ISAM. Он исчезнет довольно скоро
потому, что MyISAM
лучшая реализация той же самой вещи. ISAM
использует индексB-tree
. Индекс сохранен в файле с расширением
.ISM
, а данные сохранены в файле с расширением
.ISD
. Вы можете проверять/ремонтировать ISAM-таблицы с помощью
команды isamchk
. Подробности в разделе
4.4.6.7 Использование
myisamchk
для ремонта.
ISAM
имеет следующие особенности и свойства:
Большинство из того, что сказано про таблицы MyISAM
, верно и
для таблиц ISAM
. Подробности в разделе
"7.1 Таблицы MyISAM". Главные отличия от
таблиц типа MyISAM
:
pack_isam
вместо myisampack
.
Если Вы хотите преобразовывать ISAM
-таблицу в
MyISAM
-таблицу так, чтобы Вы могли использовать утилиты, типа
mysqlcheck
, используйте команду ALTER TABLE
:
mysql> ALTER TABLE tbl_name TYPE = MYISAM;
Таблицы HEAP
используют хэшированный индекс и хранятся в
памяти. Это делает их очень быстрыми, но если MySQL рухнет, Вы потеряете все
данные, сохраненные в них. HEAP
очень полезны для создания
временных таблиц в памяти!
Внутренние таблицы MySQL HEAP используют 100% динамическое хеширование без
областей переполнения. Не требуется никакого дополнительного пространства,
необходимого для свободных списков. Таблицы HEAP
также не имеют
проблем с удалением+вставкой:
mysql> CREATE TABLE test TYPE=HEAP SELECT ip,SUM(downloads) as down FROM log_table GROUP BY ip; mysql> SELECT COUNT(ip),AVG(down) FROM test; mysql> DROP TABLE test;
Имеются некоторые вещи, которые надлежит учитывать, когда Вы используете
таблицы HEAP
:
MAX_ROWS
в
инструкции CREATE
, чтобы гарантировать, что Вы случайно не
используете всю память.
=
и
<=>
(но зато ОЧЕНЬ быстро!).
HEAP
могут использовать только целые ключи, чтобы
искать строку. Сравните это с таблицами MyISAM
, где любой
префикс ключа может использоваться, чтобы найти строки.
HEAP
используют фиксированный формат длины записи.
HEAP
не поддерживают столбцы BLOB
и
TEXT
.
HEAP
не поддерживают AUTO_INCREMENT
.
HEAP
не поддерживают индекс на столбце
NULL
.
HEAP
.
HEAP
разделены между всей клиентурой (точно так же,
как и любая другая таблица).
ORDER BY
).
HEAP
распределены в маленьких блоках.
Таблицы на 100% динамические (при вставке). Никаких областей переполнения и
никакого дополнительного места ключа не надо. Удаленные строки помещаются в
связанный список и используются, когда Вы вставляете новые данные в таблицу.
HEAP
,
которые Вы хотите использовать в то же самое время.
DELETE FROM
heap_table
, TRUNCATE heap_table
или
DROP TABLE heap_table
.
MyISAM
на таблицу HEAP
.
HEAP
больше, чем
max_heap_table_size
.Память, необходимая для одной строки в таблице HEAP
:
SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2) + ALIGN(length_of_row+1, sizeof(char*))
sizeof(char*)
является 4 на 32-разрядных машинах и 8
на 64-разрядных системах.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |