| |
Вы можете использовать старый тип таблиц 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-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |