Ответы пользователя по тегу MySQL
  • Нормализация и борьба с «using temporary; using filesort»

    @bav
    filesort у вас потому что вы есть «ORDER BY e.last_vacation_time» и нет ключа по этому полю. Тот ключ, что есть («deleted») не подошел оптимизатору видимо по той причине что last_vacation_time не на первом месте.

    Попробуйте сделать ключ с «last_vacation_time» и убедитесь что он используется. При разных наборах данных оптимизатор mysql вполне может выбирать разные ключи. На таком количестве записей как у вас вы не получите реальной картины по производительности.
    Ответ написан
    Комментировать
  • Запись в таблицу mysql спецсимволов?

    @bav
    Маловато данных чтобы ответить конкретнее. Нужно бы видеть кодировку базы и кодировку веба.

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

    1) сама колонка таблицы была в правильной кодировке (utf-8 вам подойдет). Лучше всего сразу установить кодировку на всю базу, тогда при создании таблиц по умолчанию все строковые поля будут считаться что они в этой кодировке.

    Для utf-8 до создания таблиц базы выполните:

    SET CHARACTER SET utf8;

    2) коннект к базе в котором вы выполняете insert был с той же кодировкой.

    Выполнить SQL: «SET NAMES utf8» до обращения к данным должен помочь.

    3) ну и при выводе убедитесь, что данные выводятся в той же кодировке (смотреть какие headers возвращаются веб-приложением).

    Если же ваша база уже есть и в другой кодировке, которая не включает эти символы, то её можно сконвертировать в utf-8 при этом возможно придется править и сам код (зависит от языка).
    Ответ написан
    Комментировать