28.05.11 23:04MySQL: Размер базы данных

Для оценки размера базы данных в mysql можно воспользоваться информацией из служебной таблицы `information_schema`.`tables`. Размер базы состоит из суммы всех её таблиц и их индексов.
Читать дальше…

Комментариев нет | Рубрики: MySQL, tips

06.09.10 09:56Автоматически убиваем долгие запросы

Данный способ позволяет отслеживать все запросы которые длятся больше заданного количества секунд и «убивать» их.

Процедура `kill_run_aways` убивает все запросы, за исключением запущенных с правами супер пользователя, время выполнения которых превышает runtime секунд: Читать дальше…

Комментариев нет | Рубрики: MySQL, tips

26.03.09 15:10Консольный клиент MySQL: сверяем результаты запросов

При переписывании запросов, например в целях оптимизации, необходимо убедиться, что новый запрос возвращает такой же результат как и старый. Сделать это можно подсчитав контрольную сумму от возвращаемых данных:

MySQL:
  1. mysql> pager md5sum -
  2. PAGER SET to 'md5sum -'
  3. mysql> SELECT * FROM test;
  4. a09bc56ac9aa0cbcc659c3d566c2c7e4  -
  5. 4096 rows in SET (0.00 sec)

Конечно, такой способ подходит не всегда, так как результаты должны быть идентичны до битов, а другой порядок строк или полей даст другую контрольную сумму. К тому же на Windows системах команда pager не поддерживается.

Комментариев нет | Рубрики: tips, unix

20.03.09 04:19Top 1000 SQL Performance Tips

На http://forge.mysql.com/ опубликовали советы по оптимизации MySQL.
Ниже часть советов на русском.
Читать дальше...

Комментариев нет | Рубрики: MySQL, performance, tips

25.02.09 13:40How to: Отмена запроса в консольном клиенте mysql

Приходилось ли вам заново соединяться с базой после того как нажали 'CTRL+C' в надежде отменить неправильно набранный запрос? Неудобно? Да. Особенно если вы использовали временные таблицы или переменные, которые потеряются после реконекта.
Читать дальше...

Комментариев нет | Рубрики: tips

10.11.08 10:48How to: Логирование mysql на стороне клиента

Среди поддерживаемых опций консольного клиента mysql есть опция -tee.
Задав -tee=/path/to/file.log в аргументах клиента вы получите полное логирование всего, что пишется в и печатается из клиента.

Кроме того можно поместить tee=/logs/mysql.log в секцию "mysql" в файле my.cnf для автоматического включения логирования при старте клиента.
Или непосредственно из клиента:

mysql> tee /path/to/file.log
Logging to file '/path/to/file.log'
mysql> notee
Outfile disabled.

Комментариев нет | Рубрики: tips