Топ 1000 способов увеличения производительности SQL (часть 4)

myadsСпоссобы увеличения производительности за счёт правельного хранения данных:

  • InnoDB ВСЕГДА держит первичный ключ как часть каждого индекса, так что не делайте первичный ключ очень длинным;
  • Используйте используйте различные способы хранения master/slave, если Вы нуждаетесь в полном тексте, вносящем в индекс таблицы.
  • Ответ намного быстрее у ОБЪЕДИНЕННЫХ таблицах;
  • Знайте свои способы хранения и что выступает лучше всего для Ваших потребностей, знать, что существуют различные;
  • Испытайте несколько схем и способов хранения в Вашей испытательной окружающей среде прежде, перед выбором.

Увеличение производительности Базы данных за счет правельного проектирования:

  • Проектируйте нормальные схемы запроса. не бойтесь соединений таблиц, часто они быстрее чем нарушение режима;
  • Не используйте булевые флаги;
  • Индексы необходимо использовать;
  • Не используйте индексы сразу для всех полей, а только для нужных;
  • Не дублируйте индексы;
  • Не используйте большие колонки в индексах;
  • будьте осторожны в избыточных колонках в индексе или через индексы;
  • Используйте правельный умный ключ и ORDER BY вместо MAX;
  • Нормализуйте сначала, и денормализуйте где приспособлено;
  • Базы данных не крупноформатные таблицы, даже при том, что Доступ действительно действительно похож на тот. С другой стороны, Доступ не реальная база данных используйте INET_ATON и INET_NTOA для IP адресов, not char или varchar;
  • сделайте привычкой REVERSE () адреса электронной почты, таким образом Вы можете легко искать области (это поможет избежать групповых символов в начале ПОДОБНЫХ вопросов, если Вы будете хотеть найти всех, электронная почта которых находится в определенной области);
  • NULL может взять больше места и ресурсов, чтобы сохранить чем NOT NULL;
  • Выберите соответствующие наборы символов & сопоставления — 16 сохранит каждый характер в 2 байтах, нуждается ли это в этом или нет, latin1 быстрее чем 8;
  • Спусковые механизмы Использования мудро используйте min_rows и max_rows, чтобы определить приблизительный размер данных, таким образом место может быть предразмещено, и контрольные точки могут быть вычислены;
  • Индексация HASH использования для того, чтобы внести в указатель через колонки с подобными приставками данных;
  • Используйте myisam_pack_keys для int данных;
  • будьте в состоянии изменить Вашу схему, не разрушая функциональные возможности Вашего кода
    отдельные столы/базы данных, которые извлекают выгоду из различных переменных конфигурации;

Данный пост заканчивает, перевод одноименной англоязычной статьи.

    • Сайт

      Как будто заново изучаю мускул. :) Спасибо за топ! :)

    Запись навигация

    Top