01 сентября 2006

Оптимизация MySQL

Даже не столько оптимизация, сколько незатормаживание - как не сделать свои запросы медленее, чем они могут быть:

  • часто, очень часто видел, как имея поле целого типа, в запросах ему приравнивали строку с числом, мол, MySQL умный, сам преобразует:

    WHERE id = 18

    WHERE id = '18'

    MySQL-то умный, и преобразование типов - не слишком занятное занятие, а вот на использование индекса это может повлиять.

  • оказывается, не здорово что-то вычислять с помощью поля, по которому построен индекс, например:

    SELECT * FROM t WHERE YEAR(d) >= 1994; //плохо

    SELECT * FROM t WHERE d >= '1994-01-01'; //хорошо

    Это тоже не позволяет использовать индекс.

0 комментов:

Отправить комментарий