随笔 - 81  文章 - 0  评论 - 248  阅读 - 69万

随笔分类 -  Sql

与数据库相关
[转]Sql Server 给表与字段添加描述
摘要:/*在SQL语句中通过系统存储过sp_addextendedproperty可为表字段添加上动态的说明(备注)下面是SQLSERVER帮助文档中对sp_addextendedproperty存储过程的描述语法*/sp_addextendedproperty[@name=]{'property_name'}[,[@value=]{'value'}[,[@level0type=]{'level0_object_type'},[@level0name=]{'level0_object_name'}[,[@level1type=]{ 阅读全文
posted @ 2013-07-08 15:11 SamWang 阅读(16170) 评论(0) 推荐(4) 编辑
[转]使用SQLServer 2008的CDC功能实现数据变更捕获
摘要:最近由于工作需要,研究了一下2008 CDC功能,觉得还不错,下面整理了一下研究过程,虽然比较粗略,但是基本上能用了,如果有补充请大家回复,我视情况修改原帖,谢谢。背景:在SQLServer2008之前,对数据变更的捕获通常使用触发器、时间戳等低效高成本的功能来实现,所以很多系统都没有做数据变更或者仅仅对核心表做监控。自从SQLServer2008引入了数据变更捕获功能(后面简称为CDC)后,解决了很多烦恼问题,如客户2个月前更改了一个数据,但是由于服务器空间不足,经常只能保留一个月的备份。此时客户为了逃避因为更改数据带来的较大负面影响,往往会把责任推给软件开发商或者运维商,如果此时有变更捕获 阅读全文
posted @ 2013-06-07 11:40 SamWang 阅读(1011) 评论(0) 推荐(0) 编辑
[转]C#调用SSIS包(DTS)
摘要:首先,有两种调用方式:直接用(需要引用Microsoft.SqlServer.DTSRuntimeWrap.dll),通过Web Service进行执行SSIS包.如果是直接调用那么需要引用Microsoft.SqlServer.DTSRuntimeWrap.dll,客户端需要安装MS SQL 2005的客户端组件,调用的代码如下:using System;using System.Data;using System.Collections.Generic;using System.Text;using System.Data.Common;using System.Configuration 阅读全文
posted @ 2013-04-28 10:46 SamWang 阅读(1107) 评论(0) 推荐(1) 编辑
[转]不同版本的SQL Server之间数据导出导入的方法及性能比较
摘要:工作中有段时间常常涉及到不同版本的数据库间导出导入数据的问题,索性整理一下,并简单比较下性能,有所遗漏的方法也欢迎讨论、补充。00.建立测试环境01.使用SQL Server Import and Export Tool02.使用Generate Scripts03.使用BCP04.使用SqlBulkCopy05.使用Linked Server进行数据迁移06.使用RedGate的SQL Data Compare07.结果对比可以先看下测试的结果00.建立测试环境建立一个测试的环境,一个数据源数据库,版本为SQL Server 2008,一个目标数据库,版本为SQL Server 2000。实 阅读全文
posted @ 2013-04-27 14:41 SamWang 阅读(4042) 评论(18) 推荐(2) 编辑
[转]数据库设计中的14个技巧
摘要:1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。 2. 主键与外键 一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可... 阅读全文
posted @ 2013-02-18 22:19 SamWang 阅读(774) 评论(1) 推荐(1) 编辑
[转]sql子查询 嵌套SELECT语句
摘要:嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用,也能够出现在select list中,作为一个字段值来返回。1、单行子查询 :单行子查询是指子查询的返回结果只有一行数据。当主查询语句的条件语句中引用子查询结果时可用单行比较符号(=, >, <, >=, <=, <>)来进行比较。例:select ename,deptno,salfrom empwhere deptno=(select deptno from dept where 阅读全文
posted @ 2012-11-28 10:33 SamWang 阅读(100134) 评论(0) 推荐(2) 编辑
【SQL】通过Sql实现根据分组合并指定列内容的查询 SamWang
摘要:问题: 最近在做一个项目的时候,遇到这样一个要求,模拟要求如下: ID SName1 张三1 李四2 刘六2 王五要的结果是ID name1 张三,李四2 刘六,王五即按ID组查询,并将相同的ID对应SName内容通过逗号合并解决思路: 通过传递不同的id给函数,查询出组合的SName并返回。--创建测试表IF NOT EXISTS(SELECT * FROM sysobjects WHERE id=OBJECT_ID(N'StudentsInfo') AND OBJECTPROPERTY(id,N'IsUserTable')=1)CREATE TABLE .. 阅读全文
posted @ 2012-11-23 11:15 SamWang 阅读(5899) 评论(9) 推荐(1) 编辑
[转]SqlServer全文索引实例
摘要:create table testIndex ( id int identity(1,1) primary key, nm varchar(100) unique not null, sex varchar(10) ) createUNIQUEindex UQ__testIndex__0DAF0CB0on testindex(nm)insert into testindex select 'aaabbb','m' union all select 'bbb','w' union all select 'ccc',& 阅读全文
posted @ 2012-09-26 17:20 SamWang 阅读(2408) 评论(0) 推荐(0) 编辑
[转]关于SQLSERVER的全文目录跟全文索引的区别
摘要:先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛,让新手老手都有一个认知SQLSERVER Management Studio将【全文目录】、【分区函数】以及【分区方案】节点纳入其【对象资源管理器】的【存储】节点之中,如下图所示:分享到正文来了!哈哈,有请主角:全文目录全文目录数据库【存储】|【全文目录】节点是用于保存和管理【全文索引】的节点。全文目录通常是由同一数据库中的零个或多个数据表的全文索引构成的。需要注意的是,只能为每个数据表创建一个全文索引。因此,一旦在某个数据表上创建了全文索引,那么该数据表将只能隶属于一个全文目录。换言之,一个数据库可以包含一个或多个全文目录, 阅读全文
posted @ 2012-09-26 17:12 SamWang 阅读(395) 评论(0) 推荐(0) 编辑
[转]SQLServer中全文搜索与Like的差异分析
摘要:在SQL Server中,Like关键字可以实现模糊查询,即确定特定字符串是否与制定模式相匹配。这里的模式可以指包含常规字符和通配符。在模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。不过通过使用通配符可以改变这个规则,如使用?等通配符可以与字符串的任意部分相匹配。故Like关键字可以在数据库中实现模糊查询。 另外数据库库管理员也可以利用全文搜索功能对SQL Server数据表进行查询。在可以对给定的标进行全文查询之前,数据库管理元必须对这个数据表建立全文索引。全文索引也可以实现类似Like的模糊查询功能。如在一张人才简历表中查找符合特定字符串的信息等等。虽然说Like关键字与... 阅读全文
posted @ 2012-09-26 17:10 SamWang 阅读(1102) 评论(0) 推荐(0) 编辑
[转]解说SQL 优化
摘要:(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,.. 阅读全文
posted @ 2012-09-26 14:19 SamWang 阅读(526) 评论(0) 推荐(0) 编辑
[转]十步优化SQL Server中的数据访问
摘要:故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因。 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表甚至有上千万行数据,测试团队开始在生产数据库上测试,发现订单提交过程需要花5分钟时间,但在网站上线前的测试中,提交一次订单只需要2/3秒。 类似这种故事在世界各个角落每天都会上演,几乎每个开发人员在其开发生涯中都会遇到.. 阅读全文
posted @ 2012-09-26 14:17 SamWang 阅读(1784) 评论(5) 推荐(6) 编辑
【整理】SqlServer在视图上创建索引的条件
摘要:在视图上创建索引需要三个条件:一、视图必须绑定到架构。要做到这点,在 CREATE VIEW 语句中,必须加上 WITH SCHEMABINDING,如果是使用企业管理器,则在设计界面的空白处点击右键,属性,选中“绑定到架构”。二、索引必须是唯一索引。要做到这点,在 CREATE INDEX 中必须指定 UNIQUE。三、索引必须是聚集索引。要做到这点,在 CREATE INDEX 中必须指定 CLUSTERED。例:CREATE VIEW viewFoo WITH SCHEMABINDINGASSELECT id...CREATE UNIQUE CLUSTERED INDEX index_v 阅读全文
posted @ 2012-09-25 20:28 SamWang 阅读(11524) 评论(0) 推荐(0) 编辑
[转]SQL判断临时表是否存在
摘要:判断临时表是否存在Way 1if(exists(select name from tempdb..sysobjects where name like'%temptab%' and type='U')) drop table #temptabWay 2ifexists(select*fromtempdb.dbo.sysobjectswhereid=object_id(N'tempdb..#tempcitys')andtype='U')droptable#tempcitysWay 3IF OBJECT_ID('tempdb. 阅读全文
posted @ 2012-09-25 17:50 SamWang 阅读(4093) 评论(0) 推荐(1) 编辑
[转]SQL Server DBCC用法大全
摘要:msdn:http://msdn.microsoft.com/zh-cn/library/ms188796.aspxDBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一、DBCC 帮助类命令 * DBCC HELP('?') 查询所有的DBCC命令 * DBCC HELP('命令') 查询指定的DBCC命令的语法说明 * DBCC USEROPTIONS 返回当前连接的活动(设置)的SET选项 二、DBCC 检查验证类命令 * DBCC 阅读全文
posted @ 2012-09-25 15:20 SamWang 阅读(1936) 评论(0) 推荐(1) 编辑
[转]详细讲解提高数据库查询效率的实用方法、外键关于性能
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎 阅读全文
posted @ 2012-09-18 16:36 SamWang 阅读(4262) 评论(1) 推荐(2) 编辑
[转]varchar和Nvarchar区别
摘要:Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示如果还为了这个纠结,就直接看看后面的解说,做决定吧。一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的。sql server中的varchar和Nvarchar有什么区别?答:varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。 阅读全文
posted @ 2012-09-18 10:16 SamWang 阅读(6684) 评论(1) 推荐(3) 编辑
[转]SQLServerDBA十大必备工具
摘要:曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了;诚然,SSMS和Profile足够强大,工作的大部分内容都能通过它们搞定,但是MS、第三方公司甚至是个人开发者为SQLServer提供了很多其他的工具,如果你能充分的掌握这些工具,无疑会给我们数据库的管理、优化、测试和排错节省大量的时间和精力,下面就来介绍除SSMS和Profile之外的其他有用的工具。NO1: PD(PowerDesigner)功能:SysBase公司提供的数据库设计工具,功能很强大,是做数据库设计时必备的工具;下载:http: 阅读全文
posted @ 2012-09-17 14:56 SamWang 阅读(848) 评论(2) 推荐(1) 编辑
[转]sql server 存储过程中变量表与临时表的分析比较
摘要:最近,我有一朋友,对我说他的数据库中的很多存储过程,执行都是超时.让我替他看看是什么原因.我一看,原来他的存储过程中用了很多的临时表与变量表.于是我跟他说过犹不及.在存储过程中使用临时表或变量表,使用的好可以提高速度,使用的不好,可能会起到反作用. 然后给了他几个示例让他自己去看,然后针对自己的数据库进行修改.那么表变量一定是在内存中的吗?不一定.通常情况下,表变量中的数据比较少的时候,表变量是存在于内存中的。但当表变量保留的数据较多时,内存中容纳不下,那么它必须在磁盘上有一个位置来存储数据。与临时表类似,表变量是在 tempdb 数据库中创建的。如果有足够的内存,则表变量和临时表都在内存(数 阅读全文
posted @ 2012-09-14 09:56 SamWang 阅读(1315) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示