您是在寻找表格的大小,还是表格中一行的大小?如果你的所有列都是固定大小的,即nchar而不是nvarchar等,后者只能随时使用.
对于var size columns,您可以使用每列的最大长度,并将它们相加,以获得最大行大小,但这实际上不能准确反映您的实际行大小.
select sum(max_length)
from sys.columns
where object_id = object_id('MyTable')
Run Code Online (Sandbox Code Playgroud)
您还可以创建一个查询,为任何特定行中的每个列返回DATALENGTH,以获得仅该行的总大小.
SQL查询不返回表,它们返回结果.没有API来确定结果的大小,因为结果具有流语义,您开始读取结果直到结束,并且您无法预先知道大小.预先发送大小将要求服务器首先获取结果,将其存储在某处,确定其大小(行数),然后发送大小后跟结果.显然,这是低效的并且完全不合需要.最好在没有必要中间存储结果的情况下尽快开始流式传输结果.
也许你正在寻找别的东西?
数据库中表的大小始终可以从其页数确定,请参阅sys.allocation_units.帮助程序sp_spaceused可以为您读取和格式化此信息.
| 归档时间: |
|
| 查看次数: |
14371 次 |
| 最近记录: |