
SQL SERVER
文章平均质量分 59
_愤怒的小孩
这个作者很懒,什么都没留下…
展开
-
删除有两个字段相同的多条重复记录,只保存一条
要求 :把T_FORM_RECEIPT表中[FORM_NAME_] ,[OPT_USER_]字段相同的重复记录,重复记录只留 [CREATE_DATE_] 最 大的那条记录表 : CREATE TABLE [dbo].[T_FORM_RECEIPT]( [ID_] [varchar](32) COLLATE Chinese_PRC_CI_AS NOT原创 2009-07-13 17:09:00 · 744 阅读 · 0 评论 -
SQL优化
<br />下面是我总结的SQL优化思路,也是对自己做了这几年系统和数据库优化的一个小结,不是很完整,写这个文档是应付领导的,现在共享出来,以后在慢慢更正<br />吧!<br />数据库层面优化解决思路:<br />当出现SQL查询比较慢问题<br />在数据库层面,优化方法一般采用,减少访问次数,高效SQL,建立索引和建立表分区,好的数据库表设计。<br />情况一:<br />一个功能执行很慢,通过SQL Profile取出SQL语句。如果查看sql的各个表,如果查询的表的数据量在50万以下,<br原创 2011-03-17 16:24:00 · 544 阅读 · 0 评论 -
sql server 查看执行效率低下的语句
<br />dbcc freeProcCacheSELECT creation_time N'语句编译时间' ,last_execution_time N'上次执行时间' ,total_physical_reads N'物理读取总次数' ,total_logical_reads/execution_count N'每次逻辑读次数' ,total_logical_reads N'逻辑读取总次数' ,tota原创 2011-03-23 10:10:00 · 1312 阅读 · 0 评论 -
查询及删除重复记录的方法大全
<br />1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断<br />select * from people<br />where peopleId in (select peopleId from people group b原创 2011-05-30 22:00:00 · 508 阅读 · 0 评论 -
XML数据保存至表中(批量)
<br />DECLARE @Payment XMLSET @Payment='<DataSet> <Table> <Type>1</Type> <Way>T</Way> <Content>2346</Content> </Table> <Table> <原创 2010-12-03 14:09:00 · 673 阅读 · 0 评论 -
WITH(NOLOCK)
所有Select加 With (NoLock)解决阻塞死锁在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点: 对于非银行等严格原创 2011-07-12 14:35:44 · 801 阅读 · 0 评论 -
SQL生成唯一ID号
USE [test]GO/****** Object: Table [dbo].[IdentityId] Script Date: 11/08/2011 17:10:54 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABL原创 2011-11-08 17:10:39 · 2860 阅读 · 0 评论 -
查询数据库字段主键,外键,唯一键等相关属性
查询表相关主外键属性:主表,主表字段,外表,外表字段SELECT *FROM ( SELECT a.*, b.fname FROM ( SELECT OBJECT_NAME(rkeyid) rtable,原创 2013-01-26 12:04:50 · 1197 阅读 · 0 评论 -
获取、增加、修改、删除sqlserver字段描述
/************************************************************ * Code formatted by SoftTree SQL Assistant ?v5.0.97 * Time: 2013-3-4 13:28:08 *********************************************************原创 2013-03-04 13:25:26 · 419 阅读 · 0 评论 -
SQL常用脚本
--------------------------------------快速清空数据 使用的日志控件比较少TRUNCATE TABLE 表名 --------------------------------------为表添加字段alter table ThePayee add [Status] INT DEFAULT 0 ---------------原创 2013-01-21 12:50:10 · 352 阅读 · 0 评论 -
MSSQL获取表结构信息
如下代码能正常运行,都是网上查找资料最后拼凑总结出来的。条件就自己加吧。网上好像也有不少类型的东西,这里留着以备不时只需! 复制代码 代码如下:/************************************************************ * Code formatted by SoftTree SQL Assistant ?v5.0.97 * Time:原创 2013-03-01 23:03:10 · 617 阅读 · 0 评论 -
SQLServer 2005死锁终极大法
项目背景:一个重要的项目,一个复杂的背景,每天大量人员频繁的操作,在过去的几个月内偶尔发生一两次死锁导致系统不能使用为缓解查询压力,实现了读写分离,已经增加了3台查询数据库与主数据库同步死锁解决办法:1.首先创建表:/************************************************************ * Code form原创 2013-03-01 23:11:13 · 567 阅读 · 0 评论 -
查询父级
;WITH f AS( SELECT * FROM [Balance] WHERE UserName = 'C00010' UNION ALL SELECT a.* FROM [Balance] a, f WHERE a.UserName = f.pusername )SELECT *FROM f原创 2013-04-08 15:31:05 · 535 阅读 · 0 评论 -
SQL
DECLARE @T VARCHAR(255),@C VARCHAR (255)DECLARE Table_Cursor CURSOR FORSELECT A.Name,B.Name FROM Sysobjects A,Syscolumns B WHERE A.Id = B.Id AND A.Xtype = 'u' AND (B.Xtype = 99 OR B.Xtype = 35原创 2013-04-27 10:42:28 · 493 阅读 · 0 评论 -
检查SQL Server 2005的索引密度和碎片信息
<br />查询数据库中所有表的索引密度和碎片信息,以便为索引的重建和整理提供依据,也可以参考DBCC SHOWCONTIG,通常FRAGMENTATIOIN在30%以上建议重建,否则建议整理<br />SELECT i.name AS indexname, o.name AS tablename, s.name原创 2011-03-17 16:17:00 · 880 阅读 · 0 评论 -
sql server性能分析--执行sql次数和逻辑次数
<br /> 目前在做一个项目优化时,想通过数据库层分析sql server系统性能,查了一下网上代码,修改了一下标题和DMVs代码,以下代码可以用来分析系统运行一段时间后,那些语句是系统忙的sql语句。做为参考。<br /> 另类使用:<br /> 一次在分析一个对账功能时,查看系统代码,看了半天,写得太不规范,又不写注释,看不明白。最后用了下面一个小技巧,和大家一起分享:<br /> 就是在测量功能时,先以下命令清除sql server的缓存:<br />dbcc freeProcCache原创 2011-03-17 16:11:00 · 696 阅读 · 0 评论 -
sql server性能分析--索引使用效率评估
<br />--- 使用很少的索引排在最先declare @dbid intselect @dbid = db_id()select objectname=object_name(s.object_id), s.object_id, indexname=i.name, i.index_id , user_seeks, user_scans, user_lookups, user_updatesfrom sys.dm_db_index_usage_stats s,原创 2011-03-17 16:08:00 · 1137 阅读 · 0 评论 -
如何查漏编号字段
select * from TTT select t1.id + 1 as start missing id, MIN(t2.id) - 1 as end missing id, MIN(t2.id) - t1.id - 1 as count of missing idfromTTT t1 left join TTT t2on t1.id group by t1.idha原创 2009-07-13 17:30:00 · 586 阅读 · 0 评论 -
SQL重复记录处理
SQL重复记录查询 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peo原创 2009-07-17 14:35:00 · 418 阅读 · 0 评论 -
SQL Server中,N''表示什么
有时看见语句: WHERE name=NHope 其中,N是什么意思?在我们使用SQL Server生成SQL脚本的时候很容易就看到这个标示了。O(∩_∩)O~ 加上 N 代表存入数据库时以 Unicode 格式存储。 Nstring 表示string是个Unicode字符串 Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92原创 2009-07-17 14:01:00 · 1154 阅读 · 1 评论 -
sp_addlinkedserver和sp_addlinkedsrvlogin
前几天在做一个项目的时候要使用别的服务器上的数据,我就用了sp_addlinkedserver和sp_addlinkedsrvlogin 解决了,EXEC sp_addlinkedserver @server=DBVIP,-----别名可随便取名字 @srvproduct=, @provider=SQLOLEDB, @datasrc=XX原创 2009-08-02 00:31:00 · 2352 阅读 · 0 评论 -
动态批量更新的sql,每行更新的值不同
update workT set catalog_id_=id from work w1 inner join (select b.guid as tempid,a.id_ as id from work_typeT a left join workT b on a.guid=b.work_type_guid) w2 on w1.guid = w2.tempid;原创 2009-07-13 17:14:00 · 932 阅读 · 0 评论 -
并发理解
对于很多人来说,并发是一个离不开的话题。那么我们平常对并发的理解可能局限于某个方面。去很好的理解并发,对于软件开发很有帮助。怎样去更好的理解并发? 苹果下落,在我们认识牛顿定律之前。如果问苹果是下落的,我们都会说大家都知道,很清楚,很明白——了解但没引起关注。如果问为什么苹果下落。我们会举出很多相关的概念来说明苹果为什么下落——相似性,但却没有一个很清晰的概念。在万有引力之后,我们的认识已原创 2009-11-02 21:37:00 · 599 阅读 · 0 评论 -
sql常用
select [name] from sysdatabases order by name--得到数据库中所有的库名select [name] from sysobjects where xtype=Uand [name]select [name] from sysobjects where xtype=V and [name]sysconstraints order by [name原创 2010-05-06 17:03:00 · 456 阅读 · 0 评论 -
left join/ rigth join/ full join/ inner join/ cross join
declare @a table(a int,b int)declare @b table(a int,b int)insert @a values(1,1)insert @a values(2,2)insert @b values(1,1)insert @b values(3,3)--左:select * from @a Aa left join @b Bb on Aa.a=Bb.a--原创 2010-05-20 17:55:00 · 680 阅读 · 0 评论 -
批量写数据
将数据批量写入数据库的需求是比较多的,方法也有很多种。如果数据源为XML文件,使用SQL BULK COPY就需要将XML数据导入到DataTable,下面的方法可以直接将XML数据传到SQL SERVER然后处理,另外还可以直接使用T-SQL将XML文件的数据导入到数据库。这里最主要的是要使用二个系统存储过程:SP_XML_PREPAREDOCUMENT 和 SP_XML_REMOVEDOCU原创 2010-05-26 16:55:00 · 532 阅读 · 0 评论 -
Excel导入SQL SERVER中
<br />--Excel导入SQL SERVER中<br />--表结构不存在可以使用<br />--启用Ad Hoc Distributed Queries:<br />exec sp_configure 'show advanced options',1<br />reconfigure<br />exec sp_configure 'Ad Hoc Distributed Queries',1<br />reconfigure<br />select * into serv_user_bak1 fro原创 2010-05-31 15:27:00 · 496 阅读 · 0 评论 -
批量执行数据库对象脚本
<br />@ECHO off@title 批量执行数据库对象脚本SET user=saSET password=123456SET serverip=China-HPSET db=数据库ECHO ......当前使用的数据库连接:服务器IP:%serverip% 数据库:%db% 用户名:%user% 密码: %password%ECHO ......请确认数据库连接设置正确,如果不正确请点窗口右上角×退出!!!!!!!pauseset t0=%TI原创 2011-01-25 22:23:00 · 700 阅读 · 0 评论 -
sql server性能分析--检测数据库阻塞语句
<br />create PROCEDURE [dbo].[auto_checkblocks] ASset nocount onif exists ( select * from master..sysprocesses where blocked <> 0 )begin /**//* show top blockers, but no duplicates */ select '请尝试使用KILL [SPID] 来杀进程' -- select '请尝试使原创 2011-03-17 16:02:00 · 669 阅读 · 0 评论 -
sql
查询数据的最大排序问题(只能用一条语句写) CREATE TABLE hard (qu char (11) ,co char (11) ,je numeric(3, 0)) insert into hard values ('A','1',3)insert into hard values ('A','2',4)insert into hard values ('A','4'原创 2014-02-13 11:12:09 · 590 阅读 · 0 评论