# Главная
# О библиотеке

# Выбор дистрибутива
преимущества Linux/UNIX | основные дистрибутивы | серверный Linux | BSD | LiveCDs | прочее

# Установка и удаление программ
общие вопросы | каталоги софта | специальные случаи

# Настройка и работа
установка, загрузчики | настройка Linux | консоль | файловые системы | процессы | шеллы, русификация, коммандеры | виртуальные машины, эмуляторы

# X Window и оконные менеджеры
настройка X Window | GNOME | KDE | IceWM и др.

# Работа с текстами
редакторы | офис | шрифты, кодировки и русификация | преобразования текстовых файлов | LaTeX, SGML и др. | словари

# Графика
GIMP | фото | обработка изображений | форматы графических файлов

# Сети, администрирование
общие вопросы | Dialup & PPP | брандмауэры | маршрутизация | работа в Windows-сетях | веб-серверы | Apache | прокси-серверы | сетевая печать | прочее

# Программирование
GCC & GNU make | программирование в UNIX | графические библиотеки | Tcl | Perl | PHP | Java & C# | СУБД | CVS | прочее

# Ядро
# Мультимедиа
# Интернет
# Почта
# Безопасность
# Железо
# Разное

# Linux HowTo (как сделать)
# Книги и руководства
# Материалы на английском языке


MySQL The World's Most Popular Open Source Database # Online shop | Site map |  
CompanyProductsSupport & ConsultingTraining & CertificationDownloadsDocumentation
  BooksArticlesMailing ListsPresentationsOther Sites  
Search the MySQL manual:
MySQL Manual
  • 7 Типы таблиц MySQL
    • 7.1 Таблицы MyISAM
      • 7.1.2 Форматы таблиц MyISAM
        • 7.1.2.1 Характеристики статической таблицы (с фиксированной длиной)
        • 7.1.2.2 Характеристики динамических таблиц
        • 7.1.2.3 Характеристики сжатых таблиц

Buy this Reference Manual in softcover from Barnes & Noble!

MySQL Reference Manual
Previous / Next / Up / Table of Contents

7.1.2.3 Характеристики сжатых таблиц

Таблицы этого тип предназначены только для чтения. Они генерируются при помощи дополнительного инструмента myisampack (pack_isam для таблиц ISAM):

  • Все дистрибутивы MySQL, даже выпущенные до предоставления общедоступной лицензии MySQL, могут читать таблицы, которые были сжаты при помощи myisampack.
  • Сжатые таблицы занимают очень мало дискового пространства; таким образом при применении данного типа значительно снижается использование дискового пространства. Это полезно при работе с медленными дисками (такими как компакт-диски).
  • Каждая запись сжимается отдельно (незначительные издержки при доступе). Заголовки у записей фиксированные (1-3 байта), в зависимости от самой большой записи в таблице. Все столбцы сжимаются по-разному. Ниже приведено описание некоторых типов сжатия:
    • Обычно для каждого столбца используются разные таблицы Хаффмана.
    • Сжимаются пробелы суффикса.
    • Сжимаются пробелы префикса.
    • Для хранения чисел со значением 0 отводится 1 бит.
    • Если у значений в целочисленном столбце небольшой диапазон, столбец сохраняется с использованием минимального по размерам возможного типа. Например, столбец BIGINT (8 байт) может быть сохранен как столбец TINYINT (1 байт) если все значения находятся в диапазоне от 0 до 255.
    • Если в столбце содержится небольшое множество возможных значений, тип столбца преобразовывается в ENUM.
    • Столбец может содержать сочетание указанных выше сжатий.
  • Для таблиц этого типа возможна обработка записей с фиксированной или динамической длиной.
  • Таблицы данного типа могут быть распакованы при помощи команды myisamchk.

User Comments

Posted by Gestefane Rabbi MagalhЦes on Friday May 17 2002, @6:24am[Delete] [Edit]

I'm trying implement a aggregate function with the purpose of group a set of unique rows on a table t1 by a field "code" having n occurrences of same "code" on 2 others tables t2 and t3.
I do some as this:
SELECT code, MY_UDF_FUNC(code) FROM T1 GROUP BY CODE
This function uses internaly callers of mysql_real_connect(), mysql_init() and others C API functions.
Its result very good! But if I use a sentence like:
SELECT code, classno, MY_UDF_FUNC(code) FROM T1 WHERE classno = 10 GROUP BY CODE
all results of MY_UDF_FUNC(code) in all rows of the result set returns NULL.
What I do?

Thanks!

[email protected]

Posted by Philippe Verdy on Friday May 17 2002, @6:24am[Delete] [Edit]

Could it be possible to add double-quoted names
to allow using table names or column names that
are identical to reserved words or that include
some otherwise invalid characters ?

I think that a "double-quoted name" could be used
everywhere an identifier is allowed in the syntax
of MySQL, and this does not break Yacc parser
rules which can still stay deterministic for
faster performance...

Such an addition would also be consistant with
what Oracle or Access allow internally (so this
could allow easier porting of applications that
use these foreign databases, and could further
allow the implementation of open gateways, and
remote databases managed directly from a main
MySQL dictionnary, so that this would allow to
connect to any database using MySQL connectivity,
any any MySQL compliant tool...)

Posted by Leonardo Dias on Friday May 17 2002, @6:24am[Delete] [Edit]

There's no description to the option
low_priority_updates. Someone should add it.

Add your own comment.

Top / Previous / Next / Up / Table of Contents
# MySQL.com home | Site map | Contact us | Press | Jobs | Privacy policy | Trademark info | © 1995-2003 MySQL AB. All rights reserved.