
技术人生のSQL篇
文章平均质量分 87
微醺_zZ
大师说:"没有不变的需求,世上的软件都改动过3次以上,唯一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路上。"
展开
-
SQL Server优化50法
查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题转载 2016-06-03 17:19:45 · 415 阅读 · 0 评论 -
MSSQL锁定
MSSQL锁定-1.Isolation level (myBased)MSSQL锁定-2.Transaction (myBased)MSSQL锁定-3.死锁与阻塞(myBased)转载 2013-10-28 18:44:56 · 586 阅读 · 0 评论 -
ms sql 检索死锁进程
锁原理:指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。发生死锁的原因如下:一种原因是系统提供的资源太少了,远不能满足并发进程对资源的需求。这种竞争资源引起的死锁是我们要讨论的核心。例如:消息是一种临时性资源。某一时刻,进程A等待进程B发来的消息,进程B等待进程C发来的消息,而进程C又等待进程A发来的消息。消息未到,A,B,C三转载 2013-10-28 13:51:14 · 803 阅读 · 0 评论 -
sql server行级锁,排它锁,共享锁的使用
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不转载 2013-10-28 13:01:38 · 1412 阅读 · 0 评论 -
sqlserver2008 性能优化方法
sqlserver性能优化goexec sp_configure ”awe enabled”,”1″–内存可以支持64gexec sp_configure ”lightweight pooling”,”0″–不使用nt纤程exec sp_configure ”priority boost”,”1″–增加sqlserver优先级exec sp_configure ”network p原创 2013-10-28 13:49:23 · 2554 阅读 · 0 评论 -
SQL Server动态管理视图,性能调校语句
随着项目的发展,处理的数据量也是与日剧,已然达到千万级别数据量,在日常操作中,难免会出现性能问题,很多时候不知从何入手,今天特地整理使用sql server的动态管理试图来检测性能的方案。第一句 查看任务等待数--wait type查询:(用于查看任务执行时的等待数) SELECT TOP 20 wait_type , max_wait_time_ms wai转载 2013-10-28 11:33:40 · 1095 阅读 · 0 评论 -
利用SQL Server复制技术实现数据同步更新
昨天了解了一下MSSQL数据库复制技术,先说明一下自己遇到的问题。首选是在新建发布的时候,到最后为快照代理进行安全设置时,选择使用windows域账号登录不好使,有可能是域账号的权限不足,具体原因我也不是很清楚,选择代理就正常了。再一个我之前修改过数据库名,在新建发布的时候提示我用别名登录不好使,这个需要改一下服务器名称,SQL如下: USE master G原创 2013-10-15 15:16:52 · 866 阅读 · 0 评论 -
SqlServer执行计划
SQL执行计划因为太多了,所以就不在这里重写了,给出链接地址,大家自己去看吧转载 2013-05-14 16:21:21 · 579 阅读 · 0 评论 -
BI入门经典
【前言】 昨天论坛的SQL Server大版新增了一个BI板块,大家讨论得热火朝天,由于此前因为客户环境的问题,一直在使用sql 2000,没怎么关注这一块的东西,最近刚好要做购物篮的分析,所以到网上搜集了一些资料。为了跟大家保持“步调一致”,也写点或转点东西出来,和大家一起学习和分享。 这是很好的BI入门资料,对于还不知道BI是什么,为什么要搞BI,以及BI能做什么的朋转载 2013-05-24 15:16:46 · 814 阅读 · 0 评论 -
数据仓库建模与ETL的实践技巧
一、Data仓库的架构 Data仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将Data按特定的模式进行存储所建立起来的关系型Datcbase,它的Data基于OLTP源Systam。Data仓库中的Data是细节的、集成的、面向主题的,以OLAPSystam的分析需求为目的。 Data仓库的架构模型包括了星型架构与雪花型架构两种模式。星型架构的中间转载 2013-05-22 21:16:10 · 1262 阅读 · 0 评论 -
执行存储过程与单独执行存储过程中的SQL查询速度不一致
表象:执行存储过程超时,把存储过程中的SQL单独拿出来执行不超时。诊断:SET QUOTED_IDENTIFIER { ON | OFF }--原值为 OFF 改为 ON 问题解决SET QUOTED_IDENTIFIER ONGO是什么意思? 语法SET QUOTED_IDENTIFIER { ON | OFF }注释当 SET QUOTED_ID原创 2013-11-01 13:41:28 · 1628 阅读 · 0 评论 -
SQL Server 2008中SQL应用系列及BI学习笔记系列
SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引1、SQL Server 2008中SQL增强之一:Values新用途2、SQL Server 2008中SQL增强之二:Top新用途3、SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)4、SQL Se转载 2013-11-26 16:49:38 · 861 阅读 · 0 评论 -
User Domain\User does not have required permissions
Error : User Domain\User does not have required permissions. Verify that sufficient permissions have been granted and Windows User Account Control (UAC) restrictions have been addressed.Solution转载 2016-06-24 13:24:25 · 1002 阅读 · 0 评论 -
常用SQL整理 - CTE递归
DECLARE @GEO_NODE TABLE( [NODE_ID] [NVARCHAR](100) NOT NULL , [LEVEL_NO] [INT] NULL , [PNODE_ID] [NVARCHAR](100) NULL , [NODE_DESC] [NVARCHAR](200) )--LV.1 Country , LV.2 Company , LV.3 Regio原创 2016-05-06 15:47:59 · 429 阅读 · 0 评论 -
常用SQL整理 - ROW_NUMBER()
DECLARE @TBL TABLE ( A INT, B INT )INSERT INTO @TBL ( A, B )VALUES ( 1, -- A - int 2 -- B - int )INSERT INTO @TBL ( A, B )VALUES ( 1, -- A - int原创 2016-02-24 15:26:42 · 476 阅读 · 0 评论 -
常用SQL整理 - DENSE_RANK()
DECLARE @tbl TABLE( ID INT , VALUE_TEXT NVARCHAR(MAX) )INSERT @tbl ( ID, VALUE_TEXT )VALUES ( 1, 'A' )INSERT @tbl ( ID, VALUE_TEXT )VALUES ( 2, 'A' ) INSERT @原创 2016-05-06 10:53:59 · 538 阅读 · 0 评论 -
EXISTS、IN与JOIN性能分析
在论坛上看到这样一篇帖子,转来备注EXISTS、IN与JOIN性能分析EXISTS、IN与JOIN,都可以用来实现形如“查询A表中在(或不在)B表中的记录”的查询逻辑。在论坛上看到很多人对此有所误解(如关于in的疑惑、用 外连接 和 Is Null 代替 not in两帖),特做一简单测试。测试结果:测试代码较长,附于本帖最后。图表中百分数表示同一组3个查询的执转载 2016-03-29 11:09:38 · 717 阅读 · 0 评论 -
常用SQL整理 - 查找存在交集的数据
DECLARE @tbl TABLE ( ID INT , FROM_VALUE INT , TO_VALUE INT )INSERT @tbl ( ID, FROM_VALUE, TO_VALUE )VALUES ( 1, 10, -- A - int 30 -- B - int原创 2016-02-24 15:32:07 · 1321 阅读 · 0 评论 -
常用SQL整理 - TRY CATCH & TRAN
DECLARE @EMP_ID INT , @EMP_NAME VARCHAR(50)DECLARE @EMP TABLE ( EMP_ID INT , EMP_NAME NVARCHAR(50) ) -- 模拟数据库中存在名为Yanan的数据INSERT INTO @EMP ( EMP_ID, EMP_NAME )VAL原创 2016-02-24 15:21:41 · 660 阅读 · 0 评论 -
常用SQL整理 - UPDATE FROM
DECLARE @T1 TABLE(ID INT,A INT)DECLARE @T2 TABLE(ID INT,B INT)INSERT @T1 ( ID, A )VALUES ( 1, -- ID - int 0 -- A - int )INSERT @T1 ( ID, A )原创 2016-02-24 15:16:33 · 1174 阅读 · 0 评论 -
深入浅出SQL Server 2008 分区函数和分区表
深入浅出SQL Server 2008 分区函数和分区表当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小。维护任务(例如,重新生成索引或备份表)也可以更快的运行。 我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区。如果将某个表放置在一个物理驱动器上,将相关表放置在另转载 2016-01-29 16:26:52 · 518 阅读 · 0 评论 -
sql语句优化
性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。常见的简化规则如下: 1)不要有超过5个以上的表连接(JOIN)2)考虑使用临时表或表变量存放中间结果。3)少用子查询4)视图嵌套不要过深,一般视转载 2015-06-19 11:02:30 · 392 阅读 · 0 评论 -
MSSQL性能监控语句
1、sys.dm_exec_query_statsSELECT s2.dbid, (SELECT TOP 1 SUBSTRING(s2.text,statement_start_offset / 2+1 , ( (CASE WHEN statement_end_offset = -1 THEN (LEN(CONVERT(nvarchar(max),s2转载 2013-05-09 09:37:26 · 1010 阅读 · 0 评论 -
@@Identity 与触发器冲突的解决方案
@@IDENTITY 返回最后插入的标识值。 语法 @@IDENTITY 返回类型 numeric 注释 在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTIT转载 2013-05-07 12:24:00 · 786 阅读 · 0 评论 -
了解SQL Server触发器及触发器中的事务
转载地址引述 首先, 说下我写篇文章的目的,我希望能把我对触发器的理解,分享出来与你一起学习。如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,和触发器中事务个故事。在这边文章里面,我不会从触发器和事务的概念去讲述,而是从常见的两种触发器类型(DML触发器 & DDL触发器)和After触发转载 2013-05-07 09:45:03 · 1035 阅读 · 0 评论 -
SQL Server 2008连接字符串写法大全
一、.NET Framework Data Provider for SQL Server类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnection厂商:Microsoft标准安全连接Data Source = myServerAddress;Initial Catalog = myDataBase;User Id =转载 2012-06-18 09:52:01 · 658 阅读 · 0 评论 -
sql代理作业不自动执行的原因及解决办法
错误提示:执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)------------------------------SQLServerAgent 当前未运行,因此无法将此操作通知它。 (Microsoft SQL Server,错误: 22022)错误原因是因为SQLServerAge原创 2012-06-06 10:24:24 · 17155 阅读 · 2 评论 -
XP_cmdshell
原文地址一、简介 xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。 三、SQL Server 2005中的xp_cmdshell 由于存在安全隐患,所以在SQL Server 2005中, xp_cmdshell 默认是关闭的。 此时,如果执行 xp_cmd转载 2012-06-06 10:24:06 · 1016 阅读 · 0 评论 -
SQL Server 2008 定时执行sql语句作业的制定
--SQL Server 2008 定时作业的制定--1.打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】;--2.鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤; --3.展开【SQL Server 代理】列表,右击【作业】-->【新建作业】;--3.1 在【常规转载 2012-06-05 13:39:20 · 1359 阅读 · 0 评论 -
SQL SERVER 2008 新数据库类型hierarchyid
<br />原作:东升哥<br />原文地址:http://blog.youkuaiyun.com/ldslove/archive/2010/05/27/5628007.aspx<br /><br />/*<br />--2010-05-27(东升)<br /> <br /> <br /> <br />SQL SERVER 2008 新数据库类型hierarchyid<br /> <br /> SQL SERVER 2008引入了新的hierarchyid数据类型,可以用它来做本地存储并且在树层次<br转载 2011-03-15 15:07:00 · 829 阅读 · 0 评论 -
hierarchyid查询实例 - GetAncestor ( int n ) 用法
hierarchyid SQL2008新增字段类型,用于树形结构的维护,相关方法请参照MSDN。GetAncestor ( int n )方法说明:用法 hierarchyid.GetAncestor ( int n ) 查询子级的第n层父级构造树形结构:爷爷-父亲-儿子,按以上三层结构举例说明。需求目标:通过儿子的编号查询其自己及其祖辈的所有信息。表结构陈述:爷爷表:编号,名称父亲表:同上儿子表:同上树形结构维护表:hid,对象编号SQL:select 儿子.*,父亲.*,爷爷.*from 儿子l原创 2011-03-10 10:57:00 · 1588 阅读 · 0 评论 -
清空数据库
<br /><br />EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'<br />EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'<br />EXEC sp_MSForEachTable 'DELETE FROM ?'<br />EXEC sp_MSForEachTable 'TRUNCATE TABLE ?'<br />EXEC sp_MSForEachTable原创 2011-01-13 10:02:00 · 477 阅读 · 0 评论 -
SQL SERVER性能优化综述
<br /> <br />近期因工作需要,希望比较全面的总结下SQLSERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只好自己根据以前的经验和测试结果进行总结了。<br />我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的。所以我希转载 2010-10-29 16:22:00 · 392 阅读 · 0 评论 -
关于树形结构的查询——使用with cet递归(2005及以上版本)
对象分类表结构:IDNameP_id (父ID)示例数据:ID Name P_id1 交通 02 地铁 13 公交 14 地铁1号站 25 23路 3注:有多少层子节点未定,有可能23路下面还有具体的站点对象表:ID对象分类ID坐标示例数据:ID原创 2010-06-22 14:03:00 · 681 阅读 · 0 评论 -
SQL 优化原则(Oracle)
一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不转载 2012-08-02 13:52:06 · 429 阅读 · 0 评论 -
SQL1069错误 (由于登录失败而无法启动服务。)
问题出现 更改Administrator帐户密码后,再次启动Server时出现错误:由于登陆失败而无法启动服务。发生错误 1069 - (由于登录失败而无法启动服务。),此时正在 MSSQLServer 服务上执行该服务操作。2. 出现原因:由于修改了操作系统的密码,从而导致SQL不能启动。3. 解决方法 (1). 我的电脑--控制面板--管理工具原创 2012-10-15 09:46:28 · 1080 阅读 · 0 评论 -
SQL Server 智能感知插件SQL Prompt 4
1.数据库对象检索功能 2.T-SQL语法帮助 3.常用函数帮助(不懂鸟语?13自己练练吧!) Download Now 安装流程:1.先把网络咔叉了(断网 - -!!)2.把所有的SQL Server,VS都关了,运行SQLPrompt 4.0.exe安装3.安装完毕后,退出RedGate.SQLP转载 2012-10-15 10:01:41 · 705 阅读 · 0 评论 -
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'转载 2013-05-02 10:51:55 · 583 阅读 · 0 评论 -
sql效率(上)
一、关于索引的知识要写出运行效率高的sql,需要对索引的机制有一定了解,下面对索引的基本知识做一介绍。1、 索引的优点和局限索引可以提高查询的效率,但会降低dml操作的效率。所以建立索引时需要权衡。对于dml操作比较频繁的表,索引的个数不宜太多。2、 什么样的列需要建索引?经常用于查询、排序和分组的列(即经常在where、order或转载 2013-05-02 10:50:57 · 562 阅读 · 0 评论 -
如何找出 SQL Server 2008 资料库里是否建立了多余的索引
講到 SQL Server 2008 效能調校,這可是一門大大的學問,但是若能掌握一些基本的 SQL Server 資料庫運作原理,要能成為 SQL Server 效能調校的專家其實並不困難。我們都知道學習這些原理並不難,看書就會了,難的是如何才能在實務管理工作上真正的融會貫通、靈活運用這些已知的知識,再搭 配一些方便的工具幫你快速取得所要的重要資訊,進而做出效能調校的判斷與改善現有資料庫的效能問转载 2013-05-02 10:35:50 · 688 阅读 · 0 评论