Ускорение выполнения запросов MySQL

1) Использование DISTINCT работает быстрее чем group by

Было:

Стало:

2)  IN в запросах работает медленно. Очень медленно! Лучше вместо IN, использовать  JOIN

Было:

Выполняется 50 секунд

Стало:

Выполняется 0.23 секуны

MySQL операции с датами

Первое число текущего месяца:

Первое число следующего месяца:

Последний день месяца следующего месяца:

Обьединение строк в запросе MySQL при помощи GROUP_CONCAT

Данная команда позволяет «обьединять» в одну строчку результат запроса. Например:

Было:

Стало:

 

Mysql сортировка текстового поля как числа

Задача: отсортировать некое текстовое поле, чтобы сортировка шла, как будто в нем находится число, а не текст.

Решение:

Функция CAST имеет следующий синтаксис:
CAST(expression AS type)
,где аргумент type представляет один из типов:

  • BINARY
  • CHAR (Новшество в 4.0.6)
  • DATE
  • DATETIME
  • SIGNED {INTEGER}
  • TIME
  • UNSIGNED {INTEGER}
1 7 8 9 10 11 12