Недавно я ударил ограничение на 10 ГБ в SQL Server Express, и я хочу удалить ненужные столбцы и преобразовать другие столбцы в менее тяжелые типы данных. У меня 29 столбцов, и я просто стесняюсь 50М строк. Из них 29, 20 - поплавки, и только 10 из них очень полезны для меня. Я мог бы полностью сбросить 10 столбцов поплавка и все еще иметь всю необходимую мне информацию. Из 6 оставшихся столбцов 2 являются битами, 2 являются int (необходимы для составного ключа), а 5 - int, но могут быть tinyint.Каковы методы преобразования типа данных столбцов в SQL Server Express 2014?
Как я могу убедиться, что до того, как я изменил тип данных этих 5 столбцов на tinyint, все будет правильно преобразовываться? SSMS предупреждает о потенциальной потере данных при выполнении этого проекта, поэтому я хочу убедиться, что все будет хорошо, прежде чем я продолжу работу и запустим оператор Alter Table.
Является ли это так просто, как:
SELECT [ExperimentID],[CycleCount] --My compound key
FROM [dbo].[Simulations]
WHERE (parameter1 < 0 OR parameter1 > 255) OR (parameter2 < 0 OR parameter2 > 255) OR (other search conditions)
Или есть лучший способ проверить это?
Кроме того, извините, что DB не нормализовался должным образом, мне рекомендовали не нормализовать коллега, чтобы помочь в дальнейшем анализе данных.
Почему плавает? Вам нужны действительно высокие уровни не совсем точной точности ваших чисел? Для преобразования tinyint вы можете проверить MAX (ColumnName), чтобы увидеть, будут ли они вписываться в tinyint. Я бы, скорее всего, не согласился с вашим коллегой по поводу нормализации. Дизайн структуры таблицы должен быть сделан тем, насколько это легко для разработчика в будущем. Это всегда должно быть правильно хранить данные, но это еще одна тема. –
Что-то, о чем нужно помнить, это только удар по дороге по дороге. Если вы будете продолжать добавлять строки, вы снова ударите 10GB. Что ты собираешься делать? –
Эта конкретная БД хранит результаты некоторых симуляций. 56000/90000 уже запущены, и я думаю, что, отбросив большинство плавающих элементов и набрав ints как tinyints, где я могу, БД будет иметь значение менее 10 ГБ. Поплавки необходимы, так как нам нужна как минимум 6 цифр точности за десятичную точку. – ijustlovemath