摘要:背景:随着公司的业务迅猛发展,导致部分数据表的数据量剧增(T_ZK_C0075ALog、T_ZK_C007ALog),无法满足用户对查询效率、性能的要求。 意义:在于将大数据从物理上切割为几个相互独立的小部分,从而在查询时只取出其中一个或几个分区,减少影响的数据;另外,对置于不同文件组的分区,并行查询的性能也要高于对整个表的查询性能。 事实上,在SQL Server 2005 中就已经包含了分区功能,甚至在2005之前,还存在一个叫做“Partitioned Views”的功能,能通过将同样结构的表Union在一个View中,实现类似现在分区表的效果。而在SQL Server 2008 中,分
阅读全文
摘要:一、对结果集使用的解决办法如何在存储过程中使用另一个存储过程的结果集,或者对动态SQL语句的执行结果再次使用,可以使用下面这样的语句:INSERT INTO table_name EXEC procedure_name @parameters_var使用代码如下:--1 创建一个临时表#tmp,表结构与目标存储过程procedure_name的返回结果集兼容(兼容即可,不必相同)。create table #tmp( [columns_list])--2.1 执行存储过程,并将存储过程的返回结果集插入临时表。insert into #tmp exec procedure_name @par..
阅读全文
摘要:在工控应用上,返回的数据经常会以二进制的形成存储,而这些二进制数据又是以每4个bit表示一个十六进制的数据内容。解析的时候,往往是一个字节(Byte)占用8个位(bit),高位4bit 表示一个十六进制数据,低位4bit 表示一个十六进制数据。问题描述:在SQL Server 数据库中,如何实现二进制数据与字符串数据之间的直接转换?一定会有人立马反问我:为什么不在程序中使用 C# 或者 JAVA 或者 C++ 来处理这个业务呢?我的回答是:这个我知道,也已经实现了。但在一些特殊的应用环境和业务需求面前(如:对数据的统计、对数据的分析),我必须这么做!SQL Server 数据库中,实现 var
阅读全文
摘要:错误最近,数据库系统经常出现“ 消息[298] SQLServer Error: 10054, TCP Provider: 远程主机强迫关闭了一个现有的连接。 [SQLSTATE 08S01]”一开始很迷惑,不知道原因,后来查询资料,发现 max worker thread 设置问题,由于前期 max worker thread 设置为255,连接过小,修改成0。SQL SERVER SQLOS的任务调度【介绍】SQL Server通过WORKER, SCHEDULER, TASK等来对任务进行调度和处理。了解这些概念,对于了解SQL Server内部是如何工作,是非常有帮助的。通常来讲,SC
阅读全文
摘要:目前网络数据库的应用已经成为最为广泛的应用之一了,并且关于数据库的安全性,性能都是企业最为关心的事情。数据库渐渐成为企业的命脉,优化查询就解决了每个关于数据库应用的性能问题,在这里 microsoft sql server 又为我们做了些什么,我们一起关注。 优化查询我们理解起来貌似很抽象,概括范围十分的大,关于数据库这里的优化查询其实很简单,做一个简单的例子。一个数据包经过无数的路由器达到自己的目的地址,如果在经过每个路由器的时候,路由器都会给他指向最近的路,那么他抵达的速度也就是最快的。在数据库中也是一样,查询优化就是建立一个一个的路标,就是给这本厚厚的书,写一份简单快捷好用的目录,让计.
阅读全文
摘要:在SQL Server 的使用过程中,发现几个很有用,但不太常用(或细节不太清楚)的函数(存储过程):isnumeric,isdate,patindex,newid,collate,sp_executesql,checksum遂记下,以备日后查询。不敢独享,与君共之。有用且看,无用略过。1 isnumeric( expression )-- 返回值 1 | 0,判断是否是数字类型。数值类型包括(...
阅读全文
摘要:前言: 此文只讲xml数据类型及相应的一些操作方法在解决日常T-SQL编程中的一些应用,而避开xml modify,xml schema,xml索引,命名空间等这些语法性或者生硬的一些问题(这些语法您可以查联机丛书),即此文主要讲以xml的一些操作特性及xquery去解决编程问题.Tags: xquery ,FLWOR迭带 ,sql:column ,sql:variable ,nodes ,value ,query ,xpath ,xquery function, if, 聚合函数, xs:function等典型应用举例:--(1)--=============================
阅读全文
摘要:提纲:-- distinct 剔除重复项-- with ties 保留重复项-- newid() 新ID-- row_number() 行号-- rank() 排名(降一名次)-- dense_rank() 排名(不降一名次)-- ntile(页数) 分页-- 使用ntile(页数) 分页的存储过程 T-SQL 代码如下:useS100801Agoselect*fromscore--剔除重复项selectdistinct(score)fromscore--保留重复项(注意:withties必须和top...orderby一起使用)selecttop1withtiesscorefromscor.
阅读全文
摘要:对于Sql Server 的优化来说,可能优化查询是很常见的事情。关于数据库的优化,本身也是一个涉及面比较的广的话题, 本文只谈优化查询时如何看懂Sql Server 查询计划。由于本人对Sql Server 的认识有限,如有错误,也恳请您在发现后及时批评指正。 首先,打开【SQL Server Management Studio】,输入一个查询语句看看SqlServer是如何显示查询计划的吧。说明:本文所演示的数据库,是本人写的一个演示程序专用的数据库, 可以在此网页中下载 select v.OrderID, v.CustomerID, v.CustomerName, v.OrderDat.
阅读全文
摘要:raiserror 是由单词 raise error 组成 raise 增加; 提高; 提升raiserror 的作用: raiserror 是用于抛出一个错误。[ 以下资料来源于sql server 2005的帮助 ]其语法如下:RAISERROR({msg_id|msg_str|@local_variable}{,severity,state}[,argument[,...n]])[WITHoption[,...n]]简要说明一下:第一个参数:{ msg_id | msg_str | @local_variable } msg_id:表示可以是一个sys.messages表中定义的消息代号
阅读全文
摘要:触发器实际上就是一种特殊类型的存储过程,其特殊性表现在:它是在执行某些特定的T-SQL语句时自动的。11.1 触发器简介触发器实际上就是一种特殊类型的存储过程,它是在执行某些特定的T-SQL语句时自动执行的一种存储过程。在SQL Server 2005中,根据SQL语句的不同,把触发器分为两类:一类是DML触发器,一类是DLL触发器。11.1.1 触发器的概念和作用在SQL Server 2005里,可以用两种方法来保证数据的有效性和完整性:约束(check)和触发器(Trigger)。约束是直接设置于数据表内,只能现实一些比较简 单的功能操作,如:实现字段有效性和唯一性的检查、自动填入默认.
阅读全文
摘要:分页的相关概念: 1)当前页:即要显示或打开的那一页的页数 currPage2)页面大小:即每页要显示数据的数量 如:每页都显示10条数据 pageSize3)总数据:要显示的数据的总数,即要显示的结果集 totalSize4)总页数:即显示总数据需要的页数 totalPage 它的计算公式为: (totalSize+pageSize-1)/pageSize 例如: 如要显示17条数据,每页显示5条,那么总页数: totalPage=(17+5-1)/5=45)计算当前页的第一条数据 计算公式: (currPage-1)*pageSize+1 例如: 如要显示17 条数据,每页显示5条,那么
阅读全文
摘要:在SQL Server 中,使用系统的存储过程管理登录名,主要包括:sp_addlogin sp_droplogin sp_helploginssp_grantlogin sp_revokelogin sp_denylogin 需要注意的是:这些系统的存储过程必须在master 数据库中使用。以下代码实现简单的三层权限:use S100801Ago--=======================数据库登录=======================--添加登录用户(sp_addlogin'用户名','密码','默认数据库名')execsp_a
阅读全文
摘要:工具:SybasePowerDesigner 12.5Microsoft SQL Server 2005 第一步:概念数据模型打开PowerDesigner 软件,设计“概念数据模型”(Conceptual Data Model),它通常用在概要设计阶段。 设计表结构注意:如果Palette(工具面板)没有显示,可以在工具栏 -- 右键 -- 选择“Palette”(打勾选中) 设计结果如下:在设计属性(字段)的时候,三个字母(M、P、D)分别表示:M:是否为空;(√表示不允许为空)P:是否为主键;D:是否在该软件的视图中显示; 添加 “Relationship” 关系时,请注意:1、在所
阅读全文
摘要:Microsoft SQL Server 相关知识 数据库范式那些事[转]使用PowerDesigner 设计SQL Server 数据库初探浅谈SQL Server 2005 之引用完整性SQL Server 数据库实现之T-SQL语句[备忘]Transact-SQL 编程Transact-SQL 高级查询SQL Server 的存储过程[转]漫谈数据库之索引聚集索引和非聚集索引(sql server 索引结构及其使用)SQL SERVER 表分区浅谈SQL Server 数据库之触发器SQL Server 2005 学习笔记之触发器简介[转]【推荐】了解SQL Server 触发器及触发.
阅读全文
摘要:本文从如下几个方面讲述一下存储过程:● 存储过程的概念 ● 存储过程的优点 ● 存储过程的分类 ● 存储过程的接口 ● 存储过程的解析、编译过程 ● 存储过程的安全性 ● 如何查看存储过程 ● 加密、解密存储过程----------------------------------------------...
阅读全文
摘要:在项目需求中,根据用户从文本框输入的表名,查询该表的记录数。初步代码如下: string sql = "select * from " + txtTableName.Text.Trim(); // txtTableName 是文本框但这样有可能导致T-SQL注入式攻击,于是更改代码如下: string sql = "select * from @tb_name"; cmd.Parameters.A...
阅读全文
摘要:for xml 扩展功能 SQL Server 2005 通过 select 语句的 for xml 扩展功能,支持在服务器端以XML 文档的形式返回SQL 查询的结果。 语法如下:select 表1.列名1, 表2.列名2 ...from 表1,表2for xml mode 其中,mode 指定使用:RAW、AUTO、EXPLICIT 或 PATH 模式。(详细内容,查阅MSDN。) 创建示例环...
阅读全文
摘要:简介 数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的数据库DEMO将一个不符合范式的数据库一步步从第一范式实现到第四范式。 范式的目标 应用数据库范式可以带来许多好处,但是最重要的好处归结为三点: 1.减少数据冗余(这是最主要的好处,其他好处都是由此而附带的) 2.消除异常(插入异常,更...
阅读全文
摘要:项目开发周期与数据库设计对比 项目开发周期 数据库设计 需求分析 分析客户的业务和数据处理需求。 1. 收集信息(不怕多,但怕漏); 2. 标识对象; 3. 标识对象的属性; 4. 标识对象之间的关系; 概要设计 设计数据库的E-R图,确认需求信息的正确和完整; 拆分 n: n关系(不合理)的表; 详细设计 将E-R图转换为多张表,进行逻辑设计,并应用三大范式进行审核; 代码编写 选择具体数据库进...
阅读全文