追忆

..................追忆过去、展望未来、把握现在
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年1月10日

摘要: 走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能目录1、什么是执行计划?执行计划是依赖于什么信息。2、 统一SQL语句的写法减少解析开销3、 减少SQL语句的嵌套4、 使用“临时表”暂存中间结果5、 OLTP系统SQL语句必须采用绑定变量6、 倾斜字段的绑定变量窥测问题7、 begin tran的事务要尽量地小。8、 一些SQL查询语句应加上nolock9、加nolock后查询经常发生页分裂的表,容易产生跳读或重复读10、聚集索引没有建在表的顺序字段上,该表容易发生页分裂11、使用复合索引提高多个where条件的查询速度13、使用like进行模糊查询时应注意尽量不要使用前% 阅读全文

posted @ 2012-01-10 20:40 Eter 阅读(175) 评论(0) 推荐(1) 编辑

摘要: (转)获取星期几的名称两个自定义函数,一个是返回一个Table,另一个是直接返回名称。udf_WeekDayNameCREATEFUNCTION[dbo].[udf_WeekDayName]()RETURNS@WeekDayNameTABLE([Id]INT,[WeekDayName]NVARCHAR(15))ASBEGININSERTINTO@WeekDayName([Id],[WeekDayName])VALUES(0,'Saturday'),(1,'Sunday'),(2,'Monday'),(3,'Tuesday'),(4 阅读全文

posted @ 2012-01-10 20:21 Eter 阅读(105) 评论(0) 推荐(0) 编辑

2011年8月16日

摘要: 作者:水之原 SQL Server 基本数据类型: 1.1 简介 1.1.1 SQL分类 <!--[if !supportLists]-->l <!--[endif]-->DDL(Data Define Language):数据定义语言: <!--[if !supportLists]-->n <!--[endif]-->create [table,index,view,procedure] <!... 阅读全文

posted @ 2011-08-16 20:59 Eter 阅读(1918) 评论(0) 推荐(1) 编辑

2011年8月15日

摘要: 分类: SQL Server 查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHEMA.TABLES查询表的所有字段名:SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )SELECT * FRO... 阅读全文

posted @ 2011-08-15 10:38 Eter 阅读(51955) 评论(0) 推荐(2) 编辑

2011年8月14日

摘要: 解答:具体的解决方法请参考下文。 即时同步两个表的示例如下: 测试环境如下:SQL Sever 2000数据库,远程主机名:xz,用户名:sa,密码:无,数据库名:test 创建测试表,请注意不能用标识列做主键,因为不能进行正常的更新。 然后在本机上创建测试表,注意远程主机上也要做同样的建表操作,只是不写触发器。 if exists (select * from dbo.sysobjects w... 阅读全文

posted @ 2011-08-14 23:00 Eter 阅读(308) 评论(0) 推荐(0) 编辑

摘要: 发布时间:2007.06.14 05:12 来源:赛迪网 作者:changelive 本文从定义入手仔仔细细的来讲解如何制定自己的触发器。 创建一个简单的触发器 触发器是一种特殊的存储过程,类似于事件函数,SQL Server™ 允许为 INSERT、UPDATE、DELETE 创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列 T-SQL语句。 触发器可以在查询分析器里创建,也可以... 阅读全文

posted @ 2011-08-14 22:56 Eter 阅读(275) 评论(0) 推荐(0) 编辑

摘要: CreateTRIGGER trigger_nameON { table | view }[ WITH ENCRYPTION ]{ { { FOR |AFTER | INSTEAD OF } { [ Insert ] [ , ] [ Update ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF Update ( column ) [ { AND | or } Update ( column ) ] [ ...n ] | IF ( COLUMNS_UpdateD ( ) { bitwise_operator } updated_bitm 阅读全文

posted @ 2011-08-14 22:54 Eter 阅读(6481) 评论(0) 推荐(0) 编辑

摘要: 来源:OK_008 blog 引述 首先, 说下我写篇文章的目的,我希望能把我对触发器的理解,分享出来与你一起学习。如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,和触发器中事务个故事。在这边文章里面,我不会从触发器和事务的概念去讲述,而是从常见的两种触发器类型(DML触发器 & DDL触发器)和After触发器 & Instead... 阅读全文

posted @ 2011-08-14 22:43 Eter 阅读(267) 评论(0) 推荐(0) 编辑

摘要: 上回我们说到评估一条语句执行效率主要看逻辑IO(啥是逻辑IO,啥是物理IO见联机文档),这次我们继续。 我们先说说,返回多行结果时,为什么SQLServer有时会选择index seek,有时会选择index scan。 以nonclustered index为例说明。 像所有的索引B树一样,非聚集索引树也包括完全由索引数据组成的根节点和中间级节点;但是和聚集索引树不同的是,聚集索引树叶节点包含... 阅读全文

posted @ 2011-08-14 22:01 Eter 阅读(130) 评论(0) 推荐(0) 编辑

摘要: 1、创建数据库语句(以部门表(department)和员工表(employee)位例) create database MyCompany on (name='MyCompany_data',filename='c:\database\MyCompany_data.mdf',size=5mb,filegrowth=10%,maxsize=100mb ) log on (name='MyCompany_log',filename='c:\database\MyCompany_log.ldf',size=1mb,filegrowth= 阅读全文

posted @ 2011-08-14 21:55 Eter 阅读(162) 评论(0) 推荐(0) 编辑