Попробовать бесплатно

Маппинг типов данных

В инструменте Конвертум реализована возможность одновременно изменять тип столбца для конкретных таблиц или всех таблиц сразу, а также переменных и параметров базы данных.

tips_tricks_data_mapping_1

Рассмотрим несколько случаев, когда такая возможность может быть наиболее эффективна.

Например, тип smallint (двухбайтовое целое число со знаком) в PostgreSQL используется, когда требуется точное приведение чисел или когда другой целочисленной переменной присваивается значение smallint. Если вы замените все переменные smallint на целочисленные, то эта проблема исчезнет, и это не приведет к несовместимости типов.

Вы также можете использовать маппинг типов данных, если нужно увеличить размер поля счетчика. Например, в столбце разрешено хранить 10-значное число, но необходимо увеличить его до 12 или выше. Это можно сделать и в исходной базе данных, но иногда таблицы содержат огромные объемы данных или используются без возможности длительного простоя для изменения типа столбца. В этом случае миграция — отличная возможность заменить типы на корректные.

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

 SELECT ... 
 FROM table1 t1 
 JOIN table2 t2 on t1.numeric_field = t2.bigint_field ...

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


Другие материалы по теме:
Советы и рекомендации

Если у вас есть вопросы, пожалуйста, обращайтесь в нашу службу поддержки: support@convertum.ru