Sql 依赖项大小数据库和Alter表
是数据库大小与执行以下命令的速度之间的关系 是否根据列中的数据完成?“It”是否必须检查是否可以根据条目更改数据类型?对于1250万条记录,大约需要 15分钟 代码:Sql 依赖项大小数据库和Alter表,sql,sql-server,Sql,Sql Server,是数据库大小与执行以下命令的速度之间的关系 是否根据列中的数据完成?“It”是否必须检查是否可以根据条目更改数据类型?对于1250万条记录,大约需要 15分钟 代码: 更改列的类型时,通常需要重写数据。例如,如果数据最初是一个整数,那么在此操作之后,每条记录将缩短两个字节。这会影响页面上记录的布局以及页面的分配。每一页都需要触摸 我相信在SQL Server中,您可以对列执行一些操作,这些操作不会影响布局。其中之一是将列从可为null更改为不可为null,因为不管是否可为null,都会为每个列存
更改列的类型时,通常需要重写数据。例如,如果数据最初是一个整数,那么在此操作之后,每条记录将缩短两个字节。这会影响页面上记录的布局以及页面的分配。每一页都需要触摸
我相信在SQL Server中,您可以对列执行一些操作,这些操作不会影响布局。其中之一是将列从可为null更改为不可为null,因为不管是否可为null,都会为每个列存储null标志。更改列的类型时,通常需要重写数据。例如,如果数据最初是一个整数,那么在此操作之后,每条记录将缩短两个字节。这会影响页面上记录的布局以及页面的分配。每一页都需要触摸
我相信在SQL Server中,您可以对列执行一些操作,这些操作不会影响布局。其中之一是将列从可为null更改为不可为null,因为不管是否可为null,都会为每个列存储null标志。所有ALTER column操作都是作为添加新列和删除旧列的方式实现的:
- 添加新类型的新列
- 运行内部
更新集=CAST(as)代码>
- 将旧列标记为已删除
在您的情况下,
ALTER列Aantalcilinders SmallInt
无法判断操作是否为数据大小。这取决于先前的Aantalcilinders
类型。如果新类型的大小增加,则需要数据更新的大小。例如,如果以前的类型是tinyint
,则ALTER列必须更新每一行。所有ALTER列操作都作为添加新列和删除旧列的方式执行:
- 添加新类型的新列
- 运行内部
更新集=CAST(as)代码>
- 将旧列标记为已删除
ALTER列Aantalcilinders SmallInt
无法判断操作是否为数据大小。这取决于先前的Aantalcilinders
类型。如果新类型的大小增加,则需要数据更新的大小。如果前面的类型是tinyint
,则ALTER列必须更新每一行
USE RDW_DB
GO
ALTER TABLE dbo.RDWTabel
ALTER COLUMN Aantalcilinders SmallInt