如何估计 SQL 服务器 table 中插入的单行的理论大小
How to estimate theoretical size of a single row inserted in the SQL Server table
我正在找出估计 table 大小的最佳方法,为此,我经历了太多,无法确定理论上的 space 用于单个以字节为单位的行,因为数据跨页保存,每页至少 8KB,我们插入的 ROW 跨页存储。
帮我计算下table
所用的理论space
+-------------+--------------------+------+-----+---------+
| Field | Type | Null | Key | Default |
+-------------+--------------------+------+-----+---------+
| Id | int | NO | PRI | |
| Idx | [datetimeoffset](7)| NO | PRI | |
| Val1 | float | YES | | |
| Val2 | float | YES | | |
+-------------+--------------------+------+-----+---------+
你可以使用存储过程sp_estimate_data_compression_savings
这是一种偏离其使用方式的方式,但也许是获得磁盘上对象大小时结果的最简单方式
use TEST
EXEC sp_estimate_data_compression_savings 'dbo','client',NULL,NULL,'row'
结果 -->
object_name schema_name index_id partition_number size_with_current_compression_setting(KB)
client dbo 0 1 16 <-- Size of your table
如你所问'calculate the theoretical space being used for below table'
就是这个
我正在找出估计 table 大小的最佳方法,为此,我经历了太多,无法确定理论上的 space 用于单个以字节为单位的行,因为数据跨页保存,每页至少 8KB,我们插入的 ROW 跨页存储。
帮我计算下table
所用的理论space+-------------+--------------------+------+-----+---------+
| Field | Type | Null | Key | Default |
+-------------+--------------------+------+-----+---------+
| Id | int | NO | PRI | |
| Idx | [datetimeoffset](7)| NO | PRI | |
| Val1 | float | YES | | |
| Val2 | float | YES | | |
+-------------+--------------------+------+-----+---------+
你可以使用存储过程sp_estimate_data_compression_savings 这是一种偏离其使用方式的方式,但也许是获得磁盘上对象大小时结果的最简单方式
use TEST
EXEC sp_estimate_data_compression_savings 'dbo','client',NULL,NULL,'row'
结果 -->
object_name schema_name index_id partition_number size_with_current_compression_setting(KB)
client dbo 0 1 16 <-- Size of your table
如你所问'calculate the theoretical space being used for below table' 就是这个