易截截图软件、单文件、免安装、纯绿色、仅160KB

我的一些笔记(基于SQL 2005)(统计信息的一些笔记)

---查询索引操作的信息
select * from sys.dm_db_index_usage_stats
--查询指定表的统计信息(sys.stats和sysobjects联合查询)
select
  o.name,--表名
  s.name,--统计信息的名称
  auto_created,--统计信息是否由查询处理器自动创建
  user_created--统计信息是否由用户显示创建
from
  sys.stats
inner join
  sysobjects o
on
  s.object_id=o.id
where
  o.name='表名'
go
--查看统计信息中列的信息
select
  o.name,--表名
  s.name,--统计信息的名称
  sc.stats_column_id,
  c.name---列名
from
  sys.stats_columns sc
inner join
  sysobjects o
on
  sc.object_id=o.id
inner join
  sys.stats s
on
  sc.stats_id=s.stats_id and sc.object_id=s.object_id
inner join
  sys.columns c
on
  sc.column_id=c.column_id and sc.object_id=c.object_id
where
  o.name='表名'
--查看统计信息的明细信息
dbcc show_statistics
--查看索引自动创建的统计信息
exec sp_autostats '对象名'
--关闭自动生成统计信息的数据库选项
alter datebase 数据库名 set auto_create_statistics off
--创建统计信息
create statistics 统计信息名称 on 表名(列名)
[with
 [[fullscan
   sample number{percent|rows}]
 [norecompute]
]
go
解释一下上面的参数:
fullscan:指定对表或视图中所有的行收集统计信息
sample number{percent|rows}:指定随机抽样应读取的数据行数或者百分比 sample选项不能与fullscan选项同时使用
norecompute:指定数据库引擎不自动重新计算统计信息
--计算随机抽样统计信息
create statistics 统计信息名称 on 表名(列名)
with sample 5 percent---创建统计信息,按5%计算随机抽样统计信息
go
--创建统计信息
exec sp_createstats--参数自己去查下帮助,在这里不一一列举
--修改统计信息
update statistics 表名|视图名
    索引名|统计信息名,索引名|统计信息名,.....
[with
 [[fullscan
   sample number{percent|rows}]
 [norecompute]
]
---参数与create statistics 语句相似,下面介绍几种常用应用
1.更新指定表的所有统计信息
update statistics 表名
2.更新指定表的单个索引


相关文档:

利用动态管理视图提高SQL Server索引效率

 就如同数据库DBA了解的一样,合适的索引能够提高查询性能和应用程序可测量性。但是每个附加的索引,都给系统增加了额外开销,因为随着数据从表和视图中不断增加、修改或清除,SQL Server需要维护这些索引。
  之前,我介绍了一下动态管理视图(DMV)。它是一种很有用的监控和解决SQL Server故障的工具。本文是它的续篇, ......

SQL中把查询出来的结果用逗号连接起来

SELECT A,B=stuff((select ' ' + '字段C:' + C + ',字段D:'  + D) + ';'  from tbl WHERE (key= '条件') for xml path('')) , 1 , 1 ,'')
from tbl
WHERE (key= '条件')
group by key
例如:一个表中key为AA的记录有2条,第一条中字段C的值为CC,字段D的值为DD,第二条中字段C的值为CCC,字段D的值为 ......

oracle pl/sql 编程

                                              第一部分  基本概念
一、 ......

SQL 同时看到明细和合计

SELECT       
CenterCD      
,UseUnitCD    
,SUM(UseUnitUnitPrice) 'totaladvance'
, GROUPING(UseUnitCD) 'grp'  
from dbo.T_MMaterialGroupUnitPrice_SLS
GROUP BY CenterCD,UseUnitCD
WITH ROLLUP    
       
       
SELECT       
CenterCD      
, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号