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

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

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

03.01.11 16:52Оптимизируем MySQL Query Cache

Начиная с версии 4.0.1 в MySQL появилась функция кеширования запросов — «Query Cache«, которая открывает дополнительные возможности для задач по оптимизации баз данных.

Query Cache кеширует результаты запроса. Это значит, что кешированный запрос не выполняется вовсе. Более того, кеширование отрабатывает даже до разбора самого запроса. А это значит, что запрос должен быть точно таким же как в кеше, вплоть до байта.
Читать дальше…

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

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

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

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

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

11.05.09 12:40Вышел MySQL Sandbox 3.0

Вышел долгожданный релиз MySQL Sandbox 3.0 утилиты для простой и быстрой установки различных версий MySQL независимо друг от друга.
Новые возможности включают:

  • Инсталяция в качестве Perl модуля
  • Копирование, перемещение и удаление серверов
  • Проверка порта перед инсталяцией
  • Набор более чем из 200 тестов
  • Подробная документация
  • Более гибкая модульная структура

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

11.04.09 22:25Релиз MySQL Proxy 0.7.0

Доступен очередной релиз MySQL Proxy0.7.0.
Среди основных изменений:

  • Модульная структура
  • Добавлены новые утилиты: mysql-binlog-dump и mysql-myisam-dump
  • Улучшенное быстродействие по сравнению с прошлой версией

И многи другие. Полный список тут.

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

11.04.09 12:43EXPLAIN: filesort

В распоряжении MySQL есть несколько способов получить отсортированный результат. В EXPLAIN они отображаются как range, ref или index. Все они используют индекс для сортировки. Во всех прочих случаях используется filesort.

MySQL:
  1. mysql> EXPLAIN SELECT * FROM city ORDER BY Name;
  2. +----+-------------+-------+------+---------------+------+---------+------+------+----------------+
  3. | id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra          |
  4. +----+-------------+-------+------+---------------+------+---------+------+------+----------------+
  5. 1 | SIMPLE      | city  | ALL  | NULL          | NULL | NULL    | NULL | 4079 | USING filesort |
  6. +----+-------------+-------+------+---------------+------+---------+------+------+----------------+
  7. 1 row in SET (0.00 sec)

Не смотря на название, к файлам этот алгоритм имеет мало отношения.
Читать дальше...

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

08.04.09 14:47Ошибка с NULL и IN в MySQL 5.1

Согласно этому баг репорту, в MySQL 5.1.32 присутствует ошибка оптимизатора, которая приводит к сканированию всей таблицы вместо использования индексов.
Читать дальше...

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

29.03.09 22:44Релиз MySQL Sandbox 2.0.98

В предверии большого релиза версии 3.0 вышла очередная версия MySQL Sandbox - 2.0.98. Список изменений тут.
MySQL Sandbox позволяет с легкостью разворачивать различные версии серверов MySQL на одной машине, настраивать репликацию и создавать независимые конфигурации. Идеально подходит для тестирования. Поддерживаются версии MySQL с 3.23 вплоть до 5.1.

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

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