Spec-Zone.ru › MySQL 5.7

8.4.2.4 Использование PROCEDURE ANALYSE

ANALYSE([max_elements[,max_memory]])

Примечание

PROCEDURE ANALYSE() устарело начиная с MySQL 5.7.18 и удалено в MySQL 8.0.

ANALYSE() анализирует результат запроса и возвращает анализ результатов, предлагающий оптимальные типы данных для каждого столбца, что может помочь уменьшить размер таблицы. Чтобы получить этот анализ, добавьте PROCEDURE ANALYSE в конец оператора SELECT:

SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])

Например:

SELECT col1, col2 FROM table1 PROCEDURE ANALYSE(10, 2000);

Результаты показывают некоторые статистические данные для значений, возвращаемых запросом, и предлагают оптимальный тип данных для столбцов. Это может быть полезно для проверки ваших существующих таблиц или после импорта новых данных. Возможно, потребуется попробовать различные значения аргументов, чтобы PROCEDURE ANALYSE() не предлагал тип данных ENUM, когда это не подходит.

Аргументы являются необязательными и используются следующим образом:

  • max_elements (по умолчанию 256) — максимальное количество различных значений, которые ANALYSE() замечает в каждом столбце. Это используется ANALYSE() для проверки, должен ли оптимальный тип данных быть типа ENUM; если есть более чем max_elements различных значений, то ENUM не является рекомендуемым типом.

  • max_memory (по умолчанию 8192) — максимальное количество памяти, которое ANALYSE() должно выделить на столбец при попытке найти все различные значения.

Оператор PROCEDURE не разрешен в операторе UNION.

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

Spec-Zone.ru

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