Spec-Zone .ru
спецификации, руководства, описания, API
|
Для символа и строковых столбцов, следуйте за этими направляющими линиями:
Используйте двоичный порядок сопоставления на быстрое сравнение и операции вида, когда Вы не нуждаетесь в специфичных для языка функциях сопоставления. Можно использовать Бинарного оператора, чтобы использовать двоичное сопоставление в пределах определенного запроса.
Сравнивая значения от различных столбцов, объявите те столбцы с тем же самым набором символов и сопоставлением везде, где возможный, чтобы избежать преобразований строк, выполняя запрос.
Для значений столбцов меньше чем 8 Кбит в размере используйте двоичный файл VARCHAR
вместо BLOB
. GROUP
BY
и ORDER BY
пункты могут генерировать временные таблицы, и эти
временные таблицы могут использовать MEMORY
механизм хранения, если
исходная таблица не содержит никого BLOB
столбцы.
Если таблица содержит строковые столбцы, такие как имя и адрес, но много запросов не получают те столбцы, рассматривают разделение строковых столбцов в разделять таблицу и использование запросов соединения с внешним ключом когда необходимо. Когда MySQL получает любое значение от строки, это читает блок данных, содержащий все столбцы той строки (и возможно других смежных строк). Хранение каждой небольшой строки, с только наиболее часто используемыми столбцами, позволяет большему количеству строк помещаться в каждый блок данных. Такие компактные таблицы уменьшают дисковый ввод-вывод и использование памяти для общих запросов.
Когда Вы используете в произвольном порядке сгенерированное значение в качестве
первичного ключа в InnoDB
таблица, снабдите префиксом это возрастающее
значение, такое как текущая дата и время если возможный. Когда последовательные основные значения
физически сохранены друг около друга, InnoDB
может вставить и получить их
быстрее.
См. Раздел 8.4.2.1, "Оптимизируя для Числовых данных" по причинам, почему числовой столбец обычно предпочтителен для эквивалентного строкового столбца.