标签: database-size

更改列时会增加大量磁盘空间使用量

我希望这个问题对某人来说很容易回答:)

我有一个看起来像这样的表(隐藏了不重要的列)

CREATE TABLE [dbo].[Log](
    [LogID] [int] IDENTITY(1,1) NOT NULL,
    --several other columns
    [Name] [nvarchar](512) NOT NULL,
 CONSTRAINT [PK_Log] PRIMARY KEY CLUSTERED 
(
    [LogID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

现在我对该表做了一些索引,这也涉及将Name-column缩短到 256 宽度。但是当我更改此列时

ALTER TABLE Log ALTER COLUMN Name NVARCHAR(256) NOT NULL
GO
Run Code Online (Sandbox Code Playgroud)

数据库增长了一个不平凡的数量。(是的,我仔细检查了 - 这是我在这里所做的唯一更改)该表总共有 90746 个条目,在更改表之前,SSMS 表示大小为 247.56MB。

但是在这次更新之后,数据库增长到了 336.13MB。

不知道这在这里是否重要,但SELECT @@VERSION得到Microsoft SQL Server …

sql-server database-size alter-table disk-space auto-growth

3
推荐指数
1
解决办法
2373
查看次数

我的数据库有多少块

如何使用 Oracle SQL Developer 编写查询以查找我的数据库使用了多少块?(表和索引)

index oracle database-size table

3
推荐指数
1
解决办法
369
查看次数

如何验证我的 SQL Server 版本是 Express?

我有一个 SQL Server(版本 11.0.5058)。我尝试从 bak 文件恢复数据库,但收到错误消息:

CREATE DATABASE 或 ALTER DATABASE 失败,因为产生的累积数据库大小将超过每个数据库 10240 MB 的许可限制。

有人告诉我,我没有 Express 实例,因此我没有 10GB 的数据库限制。我无法找到信息来验证这一点。虽然在Help->About下没有出现Express这个词。如何验证数据库限制信息?

可能是什么问题?这是我可以更改的配置吗?

sql-server database-size restore

3
推荐指数
1
解决办法
329
查看次数

缩小 sql 数据库 - 坏主意?

我有一个数据库,由于一些愚蠢的代码问题,它已经大大增长。它现在是 24GB,其中大部分是非常不必要的日志信息(系统生成的调试信息)。

我的服务器位于云托管服务器上。由于文件大小,我现在有两个问题:

  1. 我支付存储费用。我很高兴为我的核心业务付费,但为愚蠢的数据付费似乎......

  2. 我的备份现在也很大。我每晚进行完整备份,然后将它们发送到 FTP 服务器。这个过程需要的时间越来越长。

鉴于我的问题,萎缩有那么糟糕吗?我将重建我所​​有的索引。我做了一次试运行,并将我的数据库降低到 6GB。

这家伙(谁我一直信任我的SQL大师)表示,它的坏.... mkay “SQL SERVER -收缩数据库是坏的-提高了碎裂-降低性能”

sql-server shrink database-size sql-server-2014

3
推荐指数
2
解决办法
1440
查看次数

如何处理大桌子

我们有几个表的问题,这些表非常大,会减慢系统速度。所以我的问题是,对于表中的行数来说,这个大小是否正常,以及可以做些什么来使它更小更轻,它不应该减慢一切。

在此处输入图片说明在此处输入图片说明

CREATE TABLE [dbo].[TransactionEntry](
    [TransactionEntryID] [uniqueidentifier] NOT NULL,
    [TransactionID] [uniqueidentifier] NULL,
    [ItemStoreID] [uniqueidentifier] NULL,
    [Sort] [int] NULL,
    [TransactionEntryType] [int] NOT NULL,
    [Taxable] [bit] NULL,
    [Qty] [decimal](19, 3) NULL,
    [UOMPrice] [money] NULL,
    [UOMType] [money] NULL,
    [UOMQty] [decimal](19, 3) NULL,
    [Total] [money] NULL,
    [RegUnitPrice] [money] NULL,
    [DiscountPerc] [decimal](19, 3) NULL,
    [DiscountAmount] [money] NULL,
    [SaleCode] [nvarchar](50) NULL,
    [PriceExplanation] [nvarchar](50) NULL,
    [ParentTransactionEntry] [uniqueidentifier] NULL,
    [AVGCost] [money] NULL,
    [Cost] [money] NULL,
    [ReturnReason] [int] NULL,
    [Note] [nvarchar](50) NULL,
    [DepartmentID] [uniqueidentifier] NULL,
    [DiscountOnTotal] [decimal](19, 3) NULL,
    [Status] …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 database-design database-size

2
推荐指数
1
解决办法
2136
查看次数

删除日志以增加数据库空间?

我正在运行 SQL Server 2008 Express 并且遇到了 4GB 大小的问题。在迁移到更大的数据库之前,我想腾出一些空间给我时间。

我不需要我的交易日志。那么,我可以删除我的日志以增加空间吗?

否则,我将不得不创建一个重复的数据库结构,然后将数据复制到新数据库中,然后从原始数据库中删除所有内容,以便我可以重新开始。

在这种情况下,是否有一种“简单的方法”可以将旧表中的数据复制到新表中?

sql-server database-size transaction-log

2
推荐指数
1
解决办法
279
查看次数

db.collection.stats 返回的 Object.bsonsize 和 avgObjSize 有什么区别?

在我的收藏中,我的文档似乎比较相似。我需要知道我的生产服务器需要多少存储空间来存储我的文档,这就是我查询的原因:

db.collectionName.stats()
Run Code Online (Sandbox Code Playgroud)

我的字段 avgObjSize 大约为 6442 字节。我在我的收藏中选择了一个随机文档,我输入:

Object.bsonsize(db.collectionName.find({"_id" :         ObjectId("5508497c51a990da07b07106")}))
Run Code Online (Sandbox Code Playgroud)

我获得了 810 个字节。

为什么我有这么大的差异?

我还注意到,我存储的文档越多,avgObjSize 减少的越多……这正常吗?(我查过,我的文件不是空的。)

它是一个开发服务器,所以我使用的是 Red Hat Enterprise Linux 5.8,它是一个 32 位版本。

mongodb storage database-size size

2
推荐指数
1
解决办法
9672
查看次数

空数据库的大小

继续我的学校项目,现在我必须估计数据库的大小从这里到 5 年。他们给了我一个公式,因此,在该公式中,其中一个值是空数据库的大小(创建时没有任何表、索引等)。

例如,对于 MySQL,我在这里发现它是 10 MB。

但是,对于 Oracle 来说,大小是多少?

我没有 Oracle 或任何 RDBMS 来进行查询,这只是一项研究工作。我用谷歌搜索了一下,但我没有找到 Oracle。

任何版本的 Oracle(9 或更高版本)都可以。

oracle oracle-11g oracle-10g database-size

1
推荐指数
1
解决办法
756
查看次数

架构更改后 SQL Server 表保持大

我在 SQL Server 2012 中有一个包含 460.000 行的表。

该表具有以下架构:

架构:

我们的应用程序有问题,所以所有 500.000 行都是Comments用空格填充的。

这导致表大小约为 3.7GB:

在此处输入图片说明

在此之后,我执行以下操作来修复结尾空格,但数据库保持在 3.7GB。

update voucher set comments = ltrim(rtrim(comments))
Run Code Online (Sandbox Code Playgroud)

一个快速计算显示,一个完全填充的行大约有 280 个字节的原始数据,一个空行(所有 varchars 为空)有 32 个字节。

这意味着对于 460.000 行,我的表应该在 32MB-122MB 之间。

为什么表是3.7GB?我怎样才能收回空间?

sql-server database-size size

0
推荐指数
1
解决办法
262
查看次数

减少 SQL Server 数据库的大小

如何减少我的 SQL Server 2008 数据库大小?

由于 db 体积增加,我的应用程序很慢。

sql-server-2008 sql-server database-size

-3
推荐指数
1
解决办法
642
查看次数