Каков наиболее краткий способ заменить строковый столбец на целочисленный столбец - PullRequest
0 голосов
/ 07 ноября 2011

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

Мой текущий план выглядит примерно так:

ALTER TABLE
    items
ADD COLUMN isort INT;

затем:

UPDATE
    items
SET
    isort = CAST(sort AS DECIMAL(11, 0));

и наконец:

ALTER TABLE
    items
DROP COLUMN sort;

ALTER TABLE
    items
RENAME COLUMN isort TO sort;

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

1 Ответ

1 голос
/ 08 ноября 2011

Вы можете просто изменить столбец на другой тип

ALTER TABLE table1 MODIFY col1 INTEGER NOT NULL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...