SQL SERVER 2008 笔记之行压缩和页压缩
/*
2008 压缩
行压缩
SQL SERVER 2008 引进了行压缩这个新特性,只有企业版具有该新特性.行压缩只需要最低的空间对行数据进行压缩.行压缩可以在CREATE一个表,索引或者ALTER一个表,索引的时候进行创建.压缩可以在行级别,也可以在页级别.同样备份的时候也可以进行压缩.以下先举例说明如何创建一个表行压缩和ALTER表的时候添加行压缩.
建立测试数据
*/
CREATE DATABASE COMPRESSION_TEST
GO
USE COMPRESSION_TEST
GO
/* 建立一个具有行压缩的表*/
CREATE TABLE Compression_tb1
(id int not null identity(1,1),
departid int not null,
JOBdesc CHAR(2000) not null --为了效果明显一点,可以设置长点
)
with( DATA_COMPRESSION=ROW) --建立到有行压缩选项的表
/* 可以用如下语句从新配置压缩选项*/
ALTER TABLE Compression_tb1 REBUILD
WITH (DATA_COMPRESSION=NONE) --去除压缩选项
/*
以上个语句可以颠倒过来譬如先建立没有压缩选项的表,然后通过ALTER表配置获得压缩选项
其中DATA_COMPRESSION有个参数NONE,ROW,PAGE
下面对测试表填充垃圾数据来演示压缩的效果
*/
INSERT Compression_tb1(departid ,JOBdesc)
VALUES(CAST(RAND()*20 as int)
, REPLICATE('a',50))
GO 100000
/*
数据添加好,我可以用系统SP sp_estimate_data_compression_savings 来估计使用行压缩或者页压缩可以节省多少磁盘空间.sp_estimate_data_compression_savings有个参数:需要压缩的表的架构名称、 对象名称、索引ID、分区号和压缩方式。如下的示例先检查行压缩可以节省多少空间。
*/
EXEC SYS.sp_estimate_data_c
相关文档:
1Replace函数
在SQL SERVER 2000中有一个信息表,存放新闻信息,现在客户想批量更新这个字段中的某些文字,替换为其他文字。
解决方法:利用replace函数
update detail set content=replace(content,'原文字','替换后文字') where 条件 ......
sql
中 case when 语法
sql语言中有没有类似C语言中的switch case的语句??
没有,用case when 来代替就行了.
例如,下面的语句显示中文年月
select getdate() as &n ......
日期和时间函数对建立一个站点是非常有用的。站点的主人往往对一个表中的数据何时被
更新感兴趣。通过日期和时间函数,你可以在毫秒级跟踪一个表的改变。
返回当前日期和时间
通过函数GETDATE(),你可以获得当前的日期和时间。例如,语句SELECT GETDATE()
返回如下的结果:
…………&h ......
sql loader可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。 &n ......
一、问题的提出
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方 ......