我的一些笔记(基于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.更新指定表的单个索引
相关文档:
Statement 的 execute(sql) 方法的返回值
true if the first result is a ResultSet object;
false if it is an update count or there are no ......
以ORACLE数据库为例, 将tab表中的tname字段转成以逗号分隔的字符串
SQL如下:
select substr(max(sys_connect_by_path(tname, ',')), 2)
from (
select b.tname, b.t1, lead(b.t1, 1) over (order by b.t1) t2
from (
select a.tname, row_number() over (orde ......
【转】一些常用的sql语句字符串处理,转于这里,以方便使用
一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()
将ASCII 码转换为字符。如果没有输入0 ~ ......
①。启动Distributed Transaction Coordinator 服务
打开服务,在服务中找到Distributed Transaction Coordinator服务,选择“属性”;
在“登录”选项卡中,选择“此帐户”,帐户名填写“N ......