社区
MS-SQL Server
帖子详情
请问怎样有效减小一个数据库的大小
bcai
2001-03-20 02:26:00
因为这个库的两个文件太大,Mdf有2G多,连Ldf都有1G多了,有什么好办法吗?
...全文
112
5
打赏
收藏
请问怎样有效减小一个数据库的大小
因为这个库的两个文件太大,Mdf有2G多,连Ldf都有1G多了,有什么好办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gxdq
2001-04-03
打赏
举报
回复
同意楼上的观点!
leecooper0918
2001-03-25
打赏
举报
回复
我的看法,供参考
1:日志文件对你到底有没有作用?数据库有没有备份,要是备份了,就这么做
sp_detach_db 你的数据库名
手工清除日志文件
sp_attach_db 你的数据库名,数据库文件路径
这么做完后,SQL 会自动产生一个新的日志文件,然后检查你的数据库,看看
数据增长率设置的是否合理,默认是 10%,针对你具体业务需要自行调整
2: 设定计划定时压缩数据库,如果库中有临时表,视图等,写一个清理的
存储过程,定期执行 ;
3: 上面有朋友说的方法不太可行,建新库的方法不好,因为你的数据库很大会很费时,
并且索引,关系等都要重建
LaoZheng
2001-03-23
打赏
举报
回复
数据库的属性 Truncate log on checkPoint 和 Auto shrink是否为True
格利高里
2001-03-22
打赏
举报
回复
对于mdf数据库文件要看里面的内容有多少,也可以把不常用的历史数据从表里导出到文件,然后删掉记录,对于ldf日志文件,先做完全的日志备份,最后DBCC SHRINKDATABASE。
renzhm
2001-03-20
打赏
举报
回复
请问实际数据量是否有这么大?若实际数据就这么大,那没办法啦.else
begin
再创建一个空数据库,将表,视图,存储过程...分别import进去,看看有没有小?
然后把此数据库更名,(可不能简单的更改文件名哦,用系统存储过程,或备份再恢复)
end;
我出现过此问题:mdf 600M多,使用此方法后123M,此方法笨,但有效
大型论坛
数据库
设计
里面所有对于分表的思想就是,尽量让表文件
大小
达到最小化, 把内容与其它信息分开的好处就是可以让每个表的文件最小化,对
数据库
操作压力会
减小
. 这样保证每张表数据量很小,操作速度会快,而且可以搭配缓存,把内容根据情况进行缓存,可以尽量很少访问表数据 对于高访问量,不能只依赖于
数据库
,还要配合缓存的使用,我在上述例子中使用的缓存只是做法一种,也许还有更好的 对于上述分表方式也可以适用于分库操作,这样就降低了
数据库
单库的压力,把压力分散到各个机器 我的做法就是尽量避免表关联 再就是对于sql语句尽量都保证索引
有效
,不能索引的sql,尽量采用能索引的高效方式解决
数据库
设计-点菜管理信息系统.pdf
数据库
分析与设计——点菜管理信息系统 人们在总结信息资源开发、管理和服务的各种手段时,认为最
有效
的 是
数据库
技术。
数据库
的应用已越来越广泛。从小型的单项事务处理 系统到大型复杂的信息系统大都用先进的
数据库
技术来保持系统数据 的整体性、完整性和共享性。目前,
一个
国家的
数据库
建设规模(指
数据库
的个数、种类)、
数据库
信息量的
大小
和使用频度已成为衡量 这个国家信息化程度的重要标志之一。
数据库
设计是建立
数据库
及其应用系统的技术,是信息系统开发 和建设中的核心技术,具体说,
数据库
设计是指对于
一个
给定的应用 环境,构造最优的
数据库
模式,建立
数据库
及其应用系统,使之能够
有效
地存储数据,满足各种用户的应用需求(信息要求和处理要 求)。这个问题是
数据库
在应用领域的主要研究课题。 按照规范设计的方法,考虑
数据库
及其应用系统开发全过程,将
数据库
设计分为以下六个阶段: · 需求分析 · 概念结构设计 · 逻辑结构设计 · 物理结构设计 ·
数据库
实施 ·
数据库
运行和维护 目前大多数酒店由于规模的限制,忽略了点菜系统的重要性,而 本系统专为具有一定规模和经济条件的大型酒店设计。通过集成从顾 客定桌、点菜、上菜到结帐等一系列功能,为每个环节明确分工,并 通过可视化的软件支持,
有效
减小
了人为差错的概率,代之以高效、 便捷、准确的数字化服务系统,使酒店的管理更加规范化。
浅谈
数据库
系统优化.docx
浅谈
数据库
系统优化 概要:
数据库
系统的优化可以
有效
提高系统的性能,微软的SQL Server
数据库
的优化是
一个
系统工程,需要从设计开始就进入优化程序。
数据库
的性能的优化成了数据处理的
一个
很重要环节。系统的性能优化应该贯穿系统工作的整个生命周期,从开发开始直到系统最终下线,都应该不断的动态的优化并不断调整优化过程。基于SQL Server的
数据库
优化是指对
数据库
处理、存储、查询等进行调优的过程。 基于SQL Serve
数据库
的优化,应该从
数据库
设计的时候就做好优化打算,为后面系统正式投入运行后优化做好准备。其主要策略有: 1)调优
数据库
。
数据库
性能的优化基础就是
数据库
的基本设计,如果设计端出了问题则对
数据库
的影响很大,也很有可能没有优化的必要。
数据库
的优化应该从
数据库
的设计开始,一般要找专业的性能优化专家根据系统的要求,对
数据库
采取合理的设计方案。
数据库
的设计主要包含两个部分,
一个
是
数据库
存储分配的物理设计,
一个
是数据流量分配的逻辑设计。物理设计主要包括数据对象在物理介质上存储分布等各个方面,所要注意的问题就是在不同的存储介质上所放的数据块的
大小
,这个直接关系到数据的存储速度。而逻辑设计主要包括在
数据库
的索引、
数据库
模式、视图等。
数据库
的设计是基础,如果在设计初始出了问题,则不可能通过单纯的优化来完成
数据库
的正常工作,所以这是
数据库
调整和优化的保障。 2)优化应用程序。网络中数据的查询和传输速度及效率不仅仅在于服务器,而是和多种因素相关联的,根据网络上的相关统计,对和
数据库
相关的各个外部因素进行调整,同样可以达到
数据库
性能优化的目的。相关因素主要包括,网络、操作系统、硬件、
数据库
参数等各个方面。而这因素大都设计硬件设备,其它软件方面主要是应用程序的优化,包括
数据库
的SQL语句和系统开发语言的优化。在
数据库
的应用中,大部分是通过SQL语句来实现的,因此SQL语句的优化对数据系统优化起到很重要的作用。 大多数针对系统应用程序的优化也都集中在查询语句的处理上,而SQL语句的优化则可集中到合理利用临时数据表及索引。充分利用临时数据表,及建立合理的索引、调整优化SQL语句,等可以减少客户访问
数据库
的次数,
减小
CPU的占用时间,提高内存的利用率,
减小
系统响应时间,缩短用户等待时间等都有很重要的意义。 3)调整内存分配。内存对于数据存储和数据处理速度的影响很大,所以
有效
增大内存也是提高
数据库
系统性能的最
有效
方式,但是目前受制于硬件设备的影响,不可能对内存进行大量的扩充。对内存使用的原则就是优先给系统认为必要应用程序分配较大的内存,对
数据库
的优化就是优先分配足够内存给
数据库
系统,但是这也取决于操作系统对各个应用程序的分配。CPU在处理数据的时候,先从内存中读取数据,如果内存够大,则数据一次调入内存的数据量就较大,可以
有效
减少磁盘访问次数,内存的分配是在软件系统运行的时候进行配置的,所以其调整和优化应该安排在检查
数据库
文件的磁盘输入/输出之前。 4)调整磁盘I/O。
数据库
的存储和查询最终都得经过磁盘,所以对物理存储介质的读写是对
数据库
性能影响最大的,磁盘I/O操作也是消耗资源最大的一种操作。对磁盘I/O进行优化的主要目的和方法是尽量减少磁盘的读写次数,加大数据的一次处理量,提高数据存储的空间分配及管理。 1 基于SQL语句的优化器 优化器的类型。
数据库
在被访问的时候,都是执行SQL语句,在执行之前系统需要确定访问方式及执行的过程,在执行的时候是否使用数据索引,是否使用临时数据表,临时数据表有没有存储,存储在哪个物理介质模块上了。如果使用索引,使用哪些索引,在需要对多个数据表进行查询的时候采取的是哪个连接方式等,而这引起是由SQL Server
数据库
的优化器来完成的。对优化器的分类,主要包括两种情况,一种是基于代价的优化器,一种是基于规则的优化器。 1)基于代价的优化器。所谓基于代价的优化器是指,系统根据目前
数据库
的信息,对
数据库
的查询及操作的开资做
一个
判断,然后选出
一个
开资相对较小的优化方案。这种优化器主要是根据
数据库
相关的服务器的因素来进行分配处理的,包括缓存
大小
和策略,I/O
大小
等。 2)基于规则的优化器。基于规则的优化器主要是根据制定的一些规则和一些优化原则来执行过程和访问控制方式。相对来说要比基于代价的优化器要更容易实现,不需要对硬件进行操作,根据规则和优化原则来制定各个访问控制策略的优先级别。这种优化器对
数据库
的分布存储及硬件设施没有特殊要求,只是根据规则进行优化,对数据索引、数据表等各个方面不关心,所以基于规则的优化器也只能是粗话型的优化,很难从根本上解决SQL Server
数据库
的优化问题。 2 结论
数据库
系统的优化可以
有效
提高系统的性能,微软的SQL Server
数据库
的优化是
一个
系统工程,需要从设计开始就进入优化程序。 参
具有排序项目的事务的低复杂度,低内存的频繁项目集挖掘算法-研究论文
在本文中,我们提出了一种在交易
数据库
中查找频繁项目集的算法,在该
数据库
中,项目在交易列表中的顺序始终一致。 该算法旨在减少对
数据库
的冗余读取,并最大程度地减少存储需求。 该算法一次读取一次每个事务中的项目,并策略性地在子列表之间分配事务ID,从而
减小
了后续搜索的
大小
。 用于存储这些子列表的数据结构是简单的表,其
大小
可以预先指定,因此无需动态分配内存(这会花费额外的计算机周期)。 这些表只包含很少的冗余信息,因此可以非常
有效
地使用内存。 和表条目将在不再需要时被自动覆盖。
数据库
收缩是在SQL Server中用于
减小
数据库
文件
大小
的操作
它通过重新组织数据和索引的方式来回收未使用的空间,从而提高
数据库
的性能和存储效率。需要注意的是,
数据库
收缩操作可能会导致一定的性能开销,并且在一些情况下可能并不是必需的。因此,在执行
数据库
收缩之前,建议先评估
数据库
的实际需求和性能瓶颈,以确定是否需要进行收缩操作。综上所述,通过分析表的碎片化情况、选择需要收缩的表、优化表的结构,并执行
数据库
收缩操作,可以
有效
减小
MySQL
数据库
文件的
大小
,提高
数据库
的性能和存储效率。选择需要收缩的表:根据分析结果,选择需要进行收缩的表。
MS-SQL Server
34,591
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章