26.02.09 11:51GROUP BY и ORDER BY NULL

Не все знают, что MySQL по умолчанию упорядочивает результаты запроса по полям в GROUP BY. Это значит, что возможно использование filesort и других затратных операций сортировки.

В данном запросе используется filesort:

MySQL:
  1. world@localhost>EXPLAIN SELECT CountryCode, Name FROM City GROUP BY CountryCode LIMIT 10;
  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 temporary; USING filesort |
  6. +----+-------------+-------+------+---------------+------+---------+------+------+---------------------------------+
  7. 1 row in SET (0.00 sec)

Читать дальше...

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

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

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

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

25.02.09 12:15PHP 5.3: ext/mysqli – Persistent Connections

Начиная с PHP 5.3 расширение mysqli поддерживает постоянное соединение с базой данной. (К слову, в расширениях mysql и PDO уже давно есть)
Для сброса соединения в исходное, "чистое", состояние mysqli использует функцию mysql_change_user().
Хорошая новость: Читать дальше...

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

11.02.09 11:56Jet Profiler for MySQL 1.0

Вышел публичный релиз профайлера Jet Profiler для MySQL.

Jet Profiler for MySQL

Из заявленных возможностей:
Читать дальше...

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

10.02.09 18:33Linux Swappiness

Когда-нибудь приходилось сталкиваться с через-мерным свопом в линуксе? Особенно при больших значениях innodb_buffer_pool_size. Посмотрим что у нас с памятью:

CODE:
  1. :~$ free
  2. total used free shared buffers cached
  3. Mem: 2041888 1991096 50792 0 52 954592
  4. -/+ buffers/cache: 1036452 1005436
  5. Swap: 975200 1308 973892

У нас еще есть 50792 + 52 + 954592 = 1005436кб свободной памяти, а система уже начинает свопится. И вот в чем причина:
Читать дальше...

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