Spec-Zone.ru › MySQL 5.7

8.4.2.2 Оптимизация для типов символов и строк

Для столбцов символов и строк следуйте этим рекомендациям:

  • Используйте двоичный порядок сортировки для быстрых операций сравнения и сортировки, когда вам не нужны функции сортировки, специфичные для языка. Вы можете использовать оператор BINARY для использования двоичной сортировки в конкретном запросе.

  • При сравнении значений из разных столбцов объявляйте эти столбцы с одинаковым набором символов и сортировкой, где это возможно, чтобы избежать преобразований строк во время выполнения запроса.

  • Для значений столбцов размером менее 8 КБ используйте двоичный VARCHAR вместо BLOB. Клаузы GROUP BY и ORDER BY могут генерировать временные таблицы, и эти временные таблицы могут использовать движок хранения MEMORY, если исходная таблица не содержит столбцов BLOB.

  • Если таблица содержит строковые столбцы, такие как имя и адрес, но многие запросы не извлекают эти столбцы, рассмотрите возможность разделения строковых столбцов на отдельную таблицу и использование запросов с объединением с внешним ключом при необходимости. Когда MySQL извлекает любое значение из строки, он считывает блок данных, содержащий все столбцы этой строки (и, возможно, другие смежные строки). Поддержание каждой строки небольшого размера, с использованием только наиболее часто используемых столбцов, позволяет поместить больше строк в каждый блок данных. Такие компактные таблицы уменьшают ввод-вывод на диск и использование памяти для общих запросов.

  • Если вы используете случайное значение в качестве первичного ключа в таблице InnoDB, при возможности добавьте его префикс возрастающим значением, таким как текущая дата и время. Если последовательные первичные значения физически хранятся рядом друг с другом, InnoDB может быстрее вставлять и извлекать их.

  • См. Раздел 8.4.2.1 «Оптимизация для числовых данных» для объяснения, почему числовой столбец обычно предпочтительнее эквивалентного строкового столбца.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/optimize-character.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API