随笔分类 - [2.0] SQL Server
摘要:一、数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。 在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。 所以在考虑整个系统的流程的时候,我们必须要考虑,在高并发大数据量的访问情况下,我们的系统会不会出现极端的情况。(例如:对外统计系统在7月16
阅读全文
摘要:SQL Server 2008 全文搜索的一些知识一. 看了几篇不错的帖子,SQL Server 2008 Full-Text Search Overview(SQL Server 2008全文检索概览)http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html全文索引 http://www.cnblogs.com/liulun/articles/1368655.html先照抄一段:Q:为什么要Full-text search(全文检索)?A:因为对文字的查询速度慢(不建议在文字上建索引也就是这个道理)Q:和2005有区别么
阅读全文
摘要:Based on some questions on forums and some of the responses that people have been giving there appears to be done misunderstanding about what the WITH ROLLBACK IMMEDIATE option does when added to the ALTER DATABASE command. My goal here is to try and clear up at least some of the confusion.When you
阅读全文
摘要:存储过程中的TOP后跟一个变量会如何?Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CreateprocgetWorkPlan2(@intCounterint,@lngUserIDint)asselectTop5lngWorkID,strWorkName,strExecHumanName,strBeginDatefromworklistwherelngExecHumanID=@lngUserIDorderbylngWorkIDdesc现在想
阅读全文
摘要:前触发器和后触发器简介(downmoon) 触发器是一种特殊的存储过程。当Insert Update 或者Delete 语句修改表中一个或者多个行时执行触发器。因为SQL Server 对特定表上的每一个指定操作调用一个触发器,所以可以使用触发器扩展SQL Sever 的内置完整性和数据操纵功能. 注意:不像Delete 语句,Trancate Table 语句不激活触发器,Write Text 语句也不激活触发器。 在SQL Sever 2000 中支持两种类型的触发器,前触发器(Instead Of Trigger)和后触发器(After Trigger)。前触发器就是在语句执行之前激活触
阅读全文
摘要:基本DDL 语句之Create Database在SQL 术语中数据库是一个容器包含了相关的基表视图索引存储过程和其他对象在创建这些对象之前必须有一个存储它们的数据库在数据库中对象被进一步组织为有一个所有者对于某些类型的对象例如表只要属于不同的用户就可以在同一个数据库中有同样的名称然而对于产品系统最好不要出现重复的名称一般情况下大多数产品对象由数据库所有者拥有为了创建数据库用户必须是系统管理员或者被授权使用Create Database 语句CreateDatabase 命令最简单的形式如下Create Database AppDta这条语句创建AppDta 数据库并且把SQL Server
阅读全文
摘要:聚集索引的重要性和如何选择聚集索引 在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象: 1、分页速度一般维持在1秒和3秒之间。 2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。 虽然在超大容量情况下,这个分页的实现过程是很快的,但在分前几页时,这个1-3秒的速度比起第一种甚至没有经过优化的分页方法速度还要慢,借用户的话说就是“还没有ACCESS数据库速度快”,这个认识足以导致用户放弃使用您开发的系统。 笔者就此分析了一下,原来产
阅读全文
摘要:实现小数据量和海量数据的通用分页显示存储过程 建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。 更重要的是,对于非常大的数据模型而言,分页
阅读全文
摘要:改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name=''zhangsan'' and tID > 10000和执行:select * from table1 where tID > 10000 and name=''zhangsan'' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一
阅读全文
摘要:一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就
阅读全文
摘要:一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的 SQL 语句,提高系统的可用性。 在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的where子句中写的
阅读全文
摘要:--确定是否安装了全文组件SELECT FullTextServiceProperty( 'IsFullTextInstalled' );GO--确定已分配给全文的资源使用级别SELECT FullTextServiceProperty ( 'ResourceUsage' );Go-- 查看数据库的全文索引是否开启USE northwind SELECT DATABASEPROPERTY('Northwind', 'IsFullTextEnabled') GO--启动当前数据库的全文索引sp_fulltext_database &
阅读全文
摘要:sql some any all技术 2008-08-15 11:49:59 阅读19 评论1 字号:大中小 订阅 .create table #A(id int)goinsert into #A s(1)insert into #A s(2)insert into #A s(3)insert into #A s(4)go--All:对所有数据都满足条件,整个条件才成立,例如:5大于所有返回的idselect *from #Awhere 5>All(select id from #A)go--Any:只要有一条数据满足条件,整个条件成立,例如:3大于1,2select *from #Aw
阅读全文
摘要:http://www.codeproject.com/KB/database/sql2005-replication.aspx
阅读全文
摘要:-- !!! Important !!!-- Please goto line 76 / line 81 / line 431 / line 724, and make some necessary changes-- -- Configuration script for Data SBUs SQL Server 2005 servers-- -- -- Remember to first partition disks, create \MSSQL.1\MSSQL\Data directories-- -- Configuring system databases...USE master
阅读全文
摘要:ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。下面是 CUBE 和 ROLLUP 之间的具体区别:CUBE 生成的结果集显示了所选列中值的所有组合的聚合。 ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。 ROLLUP 优点:(1)ROLLUP 返回单个结果集,而 COMPUTE BY 返回多个结果集,而多个结果集会增加应用程序代码的复杂性。 (2)ROLLUP 可以在服务器游标中使用,而 COMPUTE BY 则不可以。 (3)有时,查询优化器为 ROLLUP 生成的执行计划比为 COMPUTE BY 生成的更为高效。 下面对比一下GROUP BY 、
阅读全文
摘要:SQL Server CONVERT() 函数SQL Server Date 函数定义和用法CONVERT() 函数是把日期转换为新数据类型的通用函数。CONVERT() 函数可以用不同的格式显示日期/时间数据。语法CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。可以使用的 style 值:Style IDStyle 格式100 或者 0mon dd yyyy hh:m
阅读全文
摘要:测试文件:D:\97-2003.xls和D:\2007.xlsx,两个文件的内容是一模一样的。测试环境:SQL Server 2000 / 2005。接口类型语法一览注册表设置单一数据类型列的类型解析混合数据类型列的自然解析混合数据类型列的强制解析——IMEX=1如何解决 NULL 值问题SQL Server 2000 中的列顺序问题如何访问隐藏的 Sheet如何访问非常规命名的 Sheet接口类型有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。Jet 引擎大家都很熟悉,可
阅读全文
摘要:--动态管理视图和函数--两种:服务器范围:用户具有服务器的view server state权限-- 数据库范围:用户需数据库view database state权限--grand view server state to 要授权主体--每笔记录描述得绘画状态select * from sys.dm_exec_sessionswhere Session_id=@@spid--连接数据库方式,登陆认证方式,网络配置,认证方式,协议类型与网络IPselect * from sys.dm_exec_connectionswhere Session_id=@@spid--前5项平均使用CUP时
阅读全文
摘要:--返回数据库的所有数据表所包含记录笔数,创建日期use TestDBselect db_name(), sys.schemas.name, o.name, i.rows, o.crdatefrom sys.sysobjects oleft join sys.sysindexes i on o.id=i.id and i.indid=1join sys.schemas on schema_id=uidwhere Type='U'--查询各数据表是否包含Identity 字段select s.Name AS SchemaName,t.Name as tableName,case when c.
阅读全文

浙公网安备 33010602011771号