SQLServer 统计数据量

做一个项目,第一件事情就是问:“这个数据库多大?”

下面是统计数据库数据量大小的方法

通常我们会使用命令: "sp_helpdb @dbname"

例如,查询数据库"testdb3"的使用量

exec sp_helpdb testdb3


  "sp_helpdb"是最常用的命令,

但是注意:该命令显示的数据库大小"db_size"并不是指现存有效数据的大小,而是指:数据库物理文件 “数据文件大小 + 日志文件大小”的总和

   例如上例中,数据库"testdb3"对应的数据文件和日志文件:

218.112 + 916.352 = 1107.88MB

数据库创始之初,数据文件和日志文件的初始大小都是默认的2M或3M

当插入数据后,数据文件和日志文件的大小会随着数据量的增长而增长

但是当删除数据的时候,会发生什么情况呢?

数据文件、日志文件会变小么?不会的,还是保持原来的大小

怎样获取有效数据的大小?

答案是使用"sp_spaceused"存储过程分别统计每张表的数据量

1)  统计单个表的使用空间

exec sp_spaceused ‘dbo.t1‘

2) 统计每个表的使用空间

exec sp_MSforeachtable "exec sp_spaceused ‘?‘"

时间: 2024-10-06 08:32:45

SQLServer 统计数据量的相关文章

sqlserver 大数据量的insert、delete操作优化

http://blog.csdn.net/lanyuzhen/article/details/7547476 --大批量导出orders表:insert DBCC DROPCLEANBUFFERS  DBCC FREEPROCCACHE goSET NOCOUNT ON BEGIN TRANSACTION  INSERT INTO test.dbo.orders with(tablock) SELECT * FROM bak.dbo.OrdersWHERE ordertime BETWEEN '

SqlServer优化:当数据量查询不是特别多,但数据库服务器的CPU资源一直100%时,如何优化?

最近和同事处理一个小程序,数据量不是特别大,某表的的数据记录:7000W条记录左右,但是从改别执行一次查询时,却发现查询速度也不快,而且最明显的问题就是CPU100%. sql语句: select gridid,lng,lat from finger_lib_server where lng>min_lng and lng<max_lng and lat>min_lat and lat<max_lat; 发现问题,使用下边的语句查看数据库是否有锁存在: --查看被锁表: selec

SQLSERVER 文件组解决大数据量数据存储

如何使用文件组解决大数据量的读写性能差问题,具体操作步骤如下: 在企业管理器中,右键点你的数据库,选属性,选数据文件,新增一个,文件填一下,位置填一下,文件组填一个,比如abc---确定. 然后你可以右键点你数据库里面的表,设计表,再点右键,属性,然后把表文件组和文本文件组改成abc,就把你原来的表从原来的大mdf文件中分解到你的新增文件中了. 再增加文件的话,方法同上,目的就是把主文件(MDF)拆分成多个文件:利用文件组的好处是不改变数据库的数据,能把已有的mdf文件拆分成多个 最后,一定要使

第十二章——SQLServer统计信息(1)——创建和更新统计信息

原文:第十二章--SQLServer统计信息(1)--创建和更新统计信息 简介: 查询的统计信息: 目前为止,已经介绍了选择索引.维护索引.如果有合适的索引并实时更新统计信息,那么优化器会选择有用的索引供查询之用,因为SQLServer优化器是基于开销的优化.当在where和on上的列上的数据需要显示在结果集的时候,如果有实时的统计信息,优化器会选择最好的执行方式,因为优化器会从统计信息中获得这些数据的明细情况. 在创建索引的时候,SQLServer就会在索引列上创建统计信息.简单来说,统计信息

大数据量下的高并发分布式访问控制(ACL)优化方案(一)

目前的设计方案 1.1.控制计数: 在目前的项目中,有很多接口需要对访问方进行权限访问控制.目前设计方案是:利用redis集群来存储每个访问控制点的访问计数信息.Key值为=PlatformId(接入平台方)+InterfaceId(系统接口)+dayTime(日期时间),value值为当天每个时段的访问次数统计列表. 1.2.控制规则: 通过页面配置并制定控制规则.业务系统在启动时加载控制规则,并访问redis获取控制次数,然后在业务系统中做逻辑判断完成,ACL控制做请求拦截处理. 目前的痛点

数据量下高并发同步的讲解(不看,保证你后悔

4.常见的提高高并发下访问的效率的手段 首先要了解高并发的的瓶颈在哪里? 1.可能是服务器网络带宽不够 2.可能web线程连接数不够 3.可能数据库连接查询上不去. 根据不同的情况,解决思路也不同. 像第一种情况可以增加网络带宽,DNS域名解析分发多台服务器. 负载均衡,前置代理服务器nginx.apache等等 数据库查询优化,读写分离,分表等等 最后复制一些在高并发下面需要常常需要处理的内容: 尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能.

大数据量高并发的数据库优化

一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程. 所以在考虑整个系统的流程的时候,我们必须

大数据量下的SQL Server数据库自身优化 (转载)

1.1:增加次数据文件 从SQL SERVER 2005开始,数据库不默认生成NDF数据文件,一般情况下有一个主数据文件(MDF)就够了,但是有些大型的数据库,由于信息很多,而且查询频繁,所以为了提高查询速度,可以把一些表或者一些表中的部分记录分开存储在不同的数据文件里 由于CPU和内存的速度远大于硬盘的读写速度,所以可以把不同的数据文件放在不同的物理硬盘里,这样执行查询的时候,就可以让多个硬盘同时进行查询,以充分利用CPU和内存的性能,提高查询速度. 在这里详细介绍一下其写入的原理,数据文件(

ODAC (V9.5.15) 学习笔记(二十)大数据量获取处理

ODAC获取数据的效率比较高,在Web程序中希望能够更快获取第一页的数据时,可以有几种方式: 1.在数据库中进行分页处理: 2.获取所有数据,只是快速返回第一页数据. 第一种方案对应用服务器资源消耗最小,对数据库消耗略大,在客户需要对全数据进行灵活过滤.查找.统计时就有些不够用了,另外对耗时较大的SQL查询就不如第二种方案速度快,对数据库压力也要大些,并且需要编写程序来完成.在Delphi下我考虑使用第二种方案,尤其是在使用uniGUI+ODAC配合使用时.第二种方案对应于服务器内存压力略大,并