Документация MySQL

21.07.2007

В операциях дискового ввода/вывода для таблиц InnoDB используется
асинхронный ввод/вывод. В Windows NT применяется собственный асинхронный
ввод/вывод, обеспечиваемый операционной системой, а в Unix - эмуляция
асинхронного ввода/вывода, встроенная в InnoDB (InnoDB создает
определенное количество потоков ввода/вывода, чтобы обеспечить операции
ввода/вывода, такие как опережающее считывание). В будущей версии мы
добавим поддержку эмуляции асинхронного ввода/вывода в Windows NT и
собственного асинхронного ввода/вывода в тех версиях Unix, в которых он
есть.
В Windows NT для таблиц InnoDB используется ввод/вывод без буферизации.
Это означает, что страницы на диске, которые записывает или считывает
InnoDB, не заносятся в файловый кэш операционной системы. При этом
экономится некоторое количество памяти.
Начиная с версии 3.23.41 в InnoDB используется новая техника сбрасывания
файлов на диск, которая получила название двойной записи. Она обеспечивает
большую безопасность при восстановлении после сбоев (таких как, например,
зависание операционной системы или отключение питания) и повышение
производительности на большинстве версий Unix, так как снижается
необходимость в операциях fsync.
''Двойная запись'' означает, что InnoDB перед записью страниц в файл данных
сначала записывает их в смежный участок табличной области, который
называется буфером двойной записи. Запись страниц в предназначенные для
них места файла данных осуществляется только после завершения записи и
сброса буфера двойной записи на диск. В случае сбоя системы во время
записи страницы InnoDB во время восстановления найдет в буфере двойной
записи пригодную копию страницы.
Начиная с версии 3.23.41 в качестве файла данных можно также использовать
раздел реального диска, хотя тестирование этой возможности еще не
проводилось. При создании нового файла данных в
сразу после размера файла данных необходимо ввести ключевое слово newraw.
Раздел диска должен быть больше указанного размера или равен ему. Обратите
внимание: 1 Мб в InnoDB -это 1024 x 1024 байт, тогда как в
характеристиках диска 1 Мб обычно соответствует 1000 000 байт.
При новом запуске базы данных Вы должны . В
противном случае InnoDB перезапишет ваш раздел!
Используя реальный диск, в некоторых версиях Unix можно производить
небуферизованные операции ввода/вывода.
В InnoDB существует два эвристических метода опережающего считывания:
последовательное опережающее считывание и случайное опережающее
считывание. Метод последовательного опережающего считывания
предусматривает, что InnoDB, определив, что схема доступа к сегменту в
табличной области является последовательной, будет заранее направлять
системе ввода/вывода пакет считываний страниц базы данных. Метод
случайного опережающего считывания предполагает, что InnoDB, определив,
что некоторые части табличной области полностью считываются в буферный
пул, направляет оставшиеся считывания системе ввода/вывода.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.

Документация MySQL

21.07.2007

Проверить таблицы на ошибки. Является операцией по умолчанию, если
не передаются другие опции, меняющие это поведение.
Проверить таблицу очень тщательно (выполняется достаточно медленно в
случае большого количества индексов). Эту опцию следует использовать в
экстремальных ситуациях. В большинстве случаев
вполне достаточно для выявления ошибок в таблице. Если
используется
и система располагает приличным объемом
памяти, то следует значительно увеличить значение
!
Проверять только таблицы, которые не были корректно закрыты.
Проверять только таблицы, изменившиеся с момента последней проверки.
(исправить) на таблице, если
найдет в ней хоть одну ошибку.
Выдавать статистическую информацию о проверяемой таблице.
Быстрее, чем расширенная проверка (
), но при этом
обнаруживается только 99,99% из общего числа ошибок (чего, однако, в
большинстве случаев вполне достаточно).
'.MYI'
факт проверки таблицы и наличие повреждений. Опцию
следует использовать для получения максимального эффекта от опции
, однако ее применение недопустимо, если
работает с таблицей и был запущен с опцией --skip-locking.
Не отмечать таблицу как проверенную. Это может пригодиться, когда
myisamchk используется для проверки таблиц, используемых каким-то другим
приложением, и это приложение не выполняет блокировку (как
).

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.

Документация MySQL

21.07.2007

DELETE [LOW_PRIORITY | QUICK] FROM table_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]

или

DELETE [LOW_PRIORITY | QUICK] table_name[.*] [,table_name[.*] ...]
FROM table-references
[WHERE where_definition]

oили

DELETE [LOW_PRIORITY | QUICK]
FROM table_name[.*], [table_name[.*] ...]
USING table-references
[WHERE where_definition]
строки, удовлетворяющие
заданным в
условиям, и возвращает число удаленных
записей.
, то удаляются все
строки. При работе в режиме
. See section
. В MySQL 3.23 оператор
возвратит ноль как число удаленных записей.
Если действительно необходимо знать число удаленных записей при удалении
всех строк, и если допустимы потери в скорости, то можно использовать
команду
Следует учитывать, что эта форма работает намного медленнее, чем
, поскольку строки удаляются
поочередно по одной.
, выполнение данной команды
будет задержано до тех пор, пока другие клиенты не завершат чтение этой
таблицы.
, то обработчик таблицы при выполнении удаления
не будет объединять индексы - в некоторых случаях это может ускорить
данную операцию.
удаленные записи сохраняются в связанном списке, а
последующие операции
повторно используют места, где располагались
удаленные записи. Чтобы возвратить неиспользуемое пространство и уменьшить
размер файлов, можно применить команду
для реорганизации таблиц. Команда
проще, но
утилита
работает быстрее. See section
. See section
.
поддерживается, начиная с MySQL 4.0.0. Второй
многотабличный формат поддерживается, начиная с MySQL 4.0.2.
Идея заключается в том, что удаляются только совпадающие строки из таблиц,
перечисленных перед выражениями
. Это позволяет удалять
единовременно строки из нескольких таблиц, а также использовать для поиска
дополнительные таблицы.
.*
DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
.
поддерживается в MySQL 4.0.
, то строки будут удалены в указанном
порядке. В действительности это выражение полезно только в сочетании с
. Например:
), в которой
строка соответствует указанной в выражении
.
указывает
серверу максимальное количество строк, которые следует удалить до возврата
управления клиенту. Эта опция может использоваться для гарантии того, что
данная команда
не потребует слишком много времени для выполнения.
Можно просто повторять команду
до тех пор, пока количество
удаленных строк меньше, чем величина
.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.