Any pitfalls of converting MySQL TEXT field to MEDIUMTEXT?

I understand the size/storage constraints of MySQL TEXT and MEDIUMTEXT fields, but I just wanted to make absolutely sure (before I sign off on a change) that I'm not looking at any adverse effects from converting a field with existing data from TEXT to MEDIUMTEXT.

My concerns are mainly performance, integrity, and disk storage.

Thanks

16
задан scooterhanson 18 August 2010 в 20:16
поделиться

1 ответ

Что касается производительности, целостности и дискового хранилища на уровне базы данных, я бы не стал беспокоиться об этом.

  • Данные переменной длины, такие как varchar, text и blob, хранятся без заполнения.
  • Я не знаю никаких проблем с честностью. Все типы данных обрабатываются ядром базы данных атомарно.
  • Конечно, если у вас действительно длинные текстовые данные, при их извлечении потребуется больше места для хранения и больше времени для дискового ввода-вывода и пропускной способности сети. Но если это данные, которые вам нужно поместить в базу данных, то это то, что вам нужно сделать.

Я могу придумать одно возможное влияние:

Некоторые библиотеки клиентского интерфейса заранее выделяют буфер для хранения результатов и выделяют достаточно памяти для максимально возможного значения. Клиент не знает длины данных до того, как он их выберет, поэтому он должен выделить достаточно места, предполагая, что данные могут быть такого размера, который поддерживается типом данных.

Таким образом, библиотека будет выделять 16 МБ на средний текст , тогда как для текста будет выделено 64 КБ. Это то, чего следует остерегаться, если у вас низкий предел памяти на вашем клиентском уровне. Например, PHP имеет параметр конфигурации memory_limit для сценариев, и буфер, выделенный для наборов результатов данных, будет учитываться при этом.

26
ответ дан 30 November 2019 в 21:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: