RSS
 

MySQL оптимизация производительности

Читаю вот книгу "MySQL оптимизация производительноси", авторы: Бэрон Шварц, Петр Зайцев, Вадим Ткаченко, Джереми Заводны, Арьен Ленц, Дерек Боллинг.

1. InnoDB поддерживает блокировку, которая не упоминается в стандарте SQL:
SELECT ...LOCK IN SHARE MODE
SELECT ... FOR UPDATE

2. MyISAM таблицы по команде SHOW TABLE STATUS LIKE '...' среди прочего могут выдавать checksum всего содержимого таблицы, если таковой подсчет включен. Эта опция может быьт крайне полезна для быстрого сравнения содержимого таблиц.

3. MyISAM:
CREATE TABLE mytable (
...
) MAX_ROWS = 1000000000 AVG_ROW_LENGTH = 32;
Такая команда пожскажет БД какой длины предполагается таблица и в зависимости от этого какой длины указатели нужно будет использовать для адресации чтения/записи. С версии 5.0 размер указателя - до 8 байт, по умолчанию - 6 байт = 256 ТБ

4. DELAY_KEY_WRITE - указывает мускулю (MyISAM), что индексы поначалу должны быть просто размещен в памяти, и лишь когда-нибудь потом сброшены на диск.