如何确定 ASE 中表使用了多少磁盘空间

发布于 2024-09-10 21:10:18 字数 101 浏览 5 评论 0原文

我有一个表,我认为如果它的许多列使用不同的数据类型可能会更好。我希望设计一些测试来确定如果将这些列切换到更好的数据类型,磁盘空间的回报。如何确定 ASE 15.0 中表占用了多少磁盘空间?

I have a table which I think might be better off if it uses different data types for many of the columns. I wish to design some tests to determine the pay off in disc space if these columns are switched to better data types. How can I determine how much disc space a table is taking up in ASE 15.0?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你不是我要的菜∠ 2024-09-17 21:10:18
  1. 使用sp_spaceused,表,1。这分别报告表和每个索引。除以 rowtotal 使用的data 空间将为您提供一个实际行长度值(不包括碎片,碎片基于锁定方案和活动)。

  2. 使用sp_help table_name。这将为您提供另一个值,即预期或平均行长度。使用提供的信息,对列长度进行简单的算术运算;然后估计您想要的数据类型更改将是什么。

  3. 请注意,每个可变长度列需要 4 个额外字节。

    • 如果列可为 Null,则将其存储为 Var Len。
  4. 现在创建具有相同列和新数据类型的新表(即使是临时表),然后重复 (2)。这将确认您的估计。

  5. sp_estspace 具有不同的用途。

  1. Use sp_spaceused, table, 1. That reports the table and each index separately. DIviding the data space used by the rowtotal will give you one value for the actual row length (not counting fragmentation, which is based on the lock scheme and activity).

  2. Use sp_help table_name. That will give you another value , the intended or average row length. Using the info provided, do the simple arithmetic with the column lengths; then estimate what they will be re the Datatype changes you intend.

  3. Note the variable length columns require 4 additional bytes each.

    • If a column is Nullable, it is stored as Var Len.
  4. Now create the new table (even temporarily), with the same columns, with the new Datatypes, and repeat (2). This will confirm your estimates.

  5. sp_estspace has a different purpose.

无需解释 2024-09-17 21:10:18
1> sp_spaceused TableName
2> go
 name                 rowtotal    reserved        data            index_size      unused
 -------------------- ----------- --------------- --------------- --------------- ---------------
 TableName            5530288     5975116 KB      5537552 KB      392292 KB       45272 KB

不过,我不知道有什么可以为您提供按列细分的信息。对表使用 sp_help 确实会提供所有列及其长度的列表。我认为这表明该列可以使用的存储量。

有一些使用 sp_estspace 估计表大小的方法,但我从未尝试过这些。

1> sp_spaceused TableName
2> go
 name                 rowtotal    reserved        data            index_size      unused
 -------------------- ----------- --------------- --------------- --------------- ---------------
 TableName            5530288     5975116 KB      5537552 KB      392292 KB       45272 KB

I'm not aware of anything that will give you a breakdown by column though. Using sp_help against the table does give you a list of all the columns, and their Length. I think that indicates the amount of storage the column could use.

There are methods of estimating table size using sp_estspace, but I've never tried these.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文