数据库
文章平均质量分 74
imJaron
这个作者很懒,什么都没留下…
展开
-
在sqlserver 中with(nolock)详解
所有Select加 With (NoLock)解决阻塞死锁在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点: 对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先转载 2017-05-27 21:39:21 · 372 阅读 · 0 评论 -
理解SQL SERVER中的逻辑读,预读和物理读
在我的上一篇关于SQL SERVER索引的博文,有圆友问道关于逻辑读,预读和物理读的概念.我觉的还是写一篇博文能把这个问题解释清楚。 SQL SERVER数据存储的形式 在谈到几种不同的读取方式之前,首先要理解SQL SERVER数据存储的方式.SQL SERVER存储的最小单位为页(Page).每一页大小为8k,SQL SERVER对于页的读取是原子性,要么读完一页,要么完全不读,不...转载 2018-04-10 12:56:16 · 271 阅读 · 0 评论 -
T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能。但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索引的概念,需要了解大量原理性的知识,包括B树,堆,数据库页,区,填充因子,碎片,文件组等等一系列相关知识,这些知识写一本小书也不为过。所以本文并不会深入讨论这些主题。 索引是什么 ...转载 2018-04-10 13:00:56 · 183 阅读 · 0 评论 -
SQL中利用DMV进行数据库性能分析
相信朋友对SQL Server性能调优相关的知识或多或少都有一些了解。虽然说现在NOSQL相关的技术非常的火热,但是RMDB(关系型数据库)与NOSQL是并存的,并且适用在各种的项目中。在一般的企业级开发中,主要还是RMDB占据主导地位。并且在互联网项目中,也不是摒弃了RMDB,例如MySQL就在很多的互联网应用中发挥着作用。所以,对数据库的调优是个值得深入学习的课题。本系列文章,主要讲述与SQL...转载 2018-04-10 13:05:15 · 439 阅读 · 0 评论 -
SQL Server常见问题总结
写在前面 在QQ群,微信群,论坛中经常帮助使用SQL Server数据库的朋友解决问题,但是有一些最常见最基本的问题,每天都有人问,回答多了也不想再解答了,索性把这些问题整理一下,再有人问到直接发链接。 一时想法而写这篇文章,问题可能不全面,后续会一直更新。基础问题收集资源下载 描述:XX版本数据库操作系统在哪里下载? 答:http://www.itellyou.cn/ 里面很多东西,...转载 2018-04-11 13:15:14 · 917 阅读 · 0 评论 -
在sqlserver 中with(nolock)详解
所有Select加 With (NoLock)解决阻塞死锁在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点: 对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻辑是否能容忍...转载 2018-04-16 13:50:51 · 265 阅读 · 0 评论 -
truncate与delete的区别
truncate是DDL語言.delete是DML語言 DDL語言是自動提交的.命令完成就不可回滾.truncate的速度也比delete要快得多.详细说明:相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrai...转载 2018-04-16 14:40:07 · 244 阅读 · 0 评论 -
SQL Server Service Broker 简单例子 (转)
SQL Server Service Broker服务体系结构消息类型 — 定义应用程序间交换的消息的名称。还可以选择是否验证消息。约定 — 指定给定会话中的消息方向和消息类型。队列 — 存储消息。此存储机制使服务间可以进行异步通信。Service Broker 队列还有其他优点,比如自动锁定同一个会话组中的消息。服务 — 是可寻址的会话端点。Service Broker 消息从一个服务发送到另一...转载 2018-04-11 13:16:00 · 859 阅读 · 0 评论 -
人工智能自动sql优化工具--SQLTuning for SQL Server
SQL语句是对数据库进行操作的惟一途径,对数据库系统的性能起着决定性的作用。对于同一条件下的SQL语句写法有很多,其中一些写法往往对性能又有很大影响。但是每个人掌握SQL语言的水平不同,如何才能保证写出高性能的SQL呢?针对这种情况,人工智能自动SQL优化工具应运而生。现在我就向大家介绍这样一款工具:SQLTuning for SQL Server。1. SQL Tuning 简介SQL Turn...转载 2018-04-11 13:17:24 · 7053 阅读 · 0 评论 -
数据库中临时表,表变量和CTE使用优势极其区别
1在写SQL时经常会用到临时表,表变量和CTE,这三者在使用时各有优势:1. 临时表:分为局部临时表和全局临时表.1.1局部临时表,创建时以#开头,在系统数据库tempdb中存储. 在当前的链接可见,链接断开则临时表就自动被释放,也可以手动drop table #tmptable在使用不同的链接同时创建相同的临时表时,互不影响,系统在tempdb中会自动附加以特定的session为标识的名字来区分...转载 2018-04-11 13:18:31 · 754 阅读 · 0 评论 -
理解事务的4种隔离级别
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的...转载 2018-04-11 13:19:00 · 175 阅读 · 0 评论 -
T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能。但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索引的概念,需要了解大量原理性的知识,包括B树,堆,数据库页,区,填充因子,碎片,文件组等等一系列相关知识,这些知识写一本小书也不为过。所以本文并不会深入讨论这些主题。 索引是什么 ...转载 2018-04-11 13:19:28 · 180 阅读 · 0 评论 -
数据库SQL优化大总结1之- 百万级数据库优化方案
一、百万级数据库优化方案1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:[sql] view plain copyselect id from t where num is null 最好不要给数据库留NULL,尽可能的使用 ...转载 2018-04-11 13:20:50 · 318 阅读 · 0 评论 -
子查询和关联查询 效率
MSDN对子查询的定义是这样的: 可以将一个查询的结果用作另一个查询的输入。可以将子查询的结果用作使用 IN( ) 函数、EXISTS 运算符或 FROM 子句的语句。 一条好的值得称赞的规则是尽量用连接代替所有的子查询。优化器有时可以自动将子查询“扁平化”,并且用常规或外连接代替。但那样也不总是有效。明确的连接对选择表的顺序和找到最可能的计划给出了更多的选项。当你优化一个特殊查询...转载 2018-04-11 13:21:56 · 2606 阅读 · 0 评论 -
SQL Server中Text和varchar(max) 区别
SQL Server 2005之后版本:请使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型,而不要使用 text、ntext 和 image 数据类型。Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varchar、nvarchar 和 varbinary 数据类型的存储能力。varchar(ma...转载 2018-03-29 14:44:51 · 448 阅读 · 0 评论 -
关于sql语句执行顺序
一、sql执行顺序 (1)from (3) join (2) on (4) where (5)group by(开始使用select中的别名,后面的语句中都可以使用)(6) avg,sum.... (7)having (8) select (9) distinct (10) order by 从这个顺序中我们不难发现,所有的 查询语句都是从from开始执行的,在执行过程中,每个步骤都会为下一个步骤...转载 2018-04-05 22:06:37 · 153 阅读 · 0 评论 -
【干货】语句优化思路与流程
最近接到一个系统全面优化的工作,此系统从开发到运维到管理(服务器配置/架构/索引设计/日常维护)等等方面均非常优秀,在之前的一些文章中很少涉及深层次语句调优的方法和思路,那么今天补充一篇。废话不多说 直接上思路步骤。 步骤一: 确定重点语句 此部分详细说明,请参见:Expert 诊断优化系列-------------针对重点语句调索引l 在SQL专家云[全面诊断] –[慢语句]-[汇总视图](...转载 2018-04-10 12:27:31 · 264 阅读 · 0 评论 -
Expert 诊断优化系列------------------语句调优三板斧
前面三篇通过CPU、内存、磁盘三巨头,讲述了如何透过现在看本质,怎样定位服务器三巨头反映出的问题。为了方便阅读给出链接:SQL SERVER全面优化-------Expert for SQL Server 诊断系列 通过三篇文章的基本介绍,可以看出系统的语句如果不优化,可能会导致三巨头都出现异常的表现。所以本篇开始介绍系统中的重头戏--------------SQL语句!开篇前的啰嗦 什么是...转载 2018-04-10 12:06:28 · 236 阅读 · 0 评论 -
SQL SERVER全面优化-------Expert for SQL Server 诊断系列
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高。软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治。开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃。 本系列文章主要和企业IT运维人员或数据库从业者分享,如何用最快的方式解决数据库出现的问题?当问题出现时应该有...转载 2018-04-10 10:19:33 · 257 阅读 · 0 评论 -
使用 Merge 语句实现表数据之间的对比同步
表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等。包括在 SSIS Package 中也可以通过 Lookup, Condition Split 等多种 Task 的组合来实现表数据之间的同步。在这里 "同步" 的意思是指每次执行一段代码的时候能够确保 A 表的数据和 B 表的数据始终相同。可以通过 SQL ...转载 2018-03-30 17:23:54 · 711 阅读 · 0 评论 -
SqlServer性能检测和优化工具使用详细
工具概要 如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler) ...转载 2018-04-09 09:22:09 · 159 阅读 · 0 评论 -
SqlServer索引的原理与应用
索引的概念索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法。索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录可以快速找到你想要的信息,而不需要读完全书。在数据库中,数据库程序使用索引可以重啊到表中的数据,而不必扫描整个表。书中的目录是一个字词以及各字词所在的页码列表,数据库中的索引是表中的值以及各值存储位置的列...转载 2018-04-09 09:50:16 · 196 阅读 · 0 评论 -
数据库设计三大范式
数据库设计范式什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。什么是三大范式:第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作...转载 2018-04-09 11:57:44 · 175 阅读 · 0 评论 -
MSSQL数据批量插入优化详细
序言 现在有一个需求是将10w条数据插入到MSSQL数据库中,表结构如下,你会怎么做,你感觉插入10W条数据插入到MSSQL如下的表中需要多久呢?或者你的批量数据是如何插入的呢?我今天就此问题做个探讨。 压测mvc的http接口看下数据首先说下这里只是做个参照,来理解插入数据库的性能状况,与开篇的需求无半毛钱关系。mvc接口代码如下:public bool Add(CustomerFeedback...转载 2018-04-09 12:27:12 · 203 阅读 · 0 评论 -
浅析SqlServer简单参数化模式下对sql语句自动参数化处理以及执行计划重用
我们知道,SqlServer执行sql语句的时候,有一步是对sql进行编译以生成执行计划, 在生成执行计划之前会去缓存中查找执行计划 如果执行计划缓存中有对应的执行计划缓存,那么SqlServer就会重用这个执行计划缓存,避免编译,从而提高效率, 对于开发者来说,为了达到能够重用执行计划的目的,使用参数化的sql是一个必要的条件。 除了参数化的sql,对于即席查询或者是动态生成的查询语句,也就是非...转载 2018-04-09 12:39:25 · 916 阅读 · 0 评论 -
MSSQLSERVER执行计划详解
序言本篇主要目的有二:1、看懂t-sql的执行计划,明白执行计划中的一些常识。2、能够分析执行计划,找到优化sql性能的思路或方案。如果你对sql查询优化的理解或常识不是很深入,那么推荐几骗博文给你:SqlServer性能检测和优化工具使用详细 ,sql语句的优化分析,T-sql语句查询执行顺序。执行计划简介1、什么是执行计划?大哥提交的sql语句,数据库查询优化器,经过分析生成多个数据库可以识别...转载 2018-04-09 13:30:16 · 284 阅读 · 0 评论 -
T-sql语句查询执行顺序
前言数据库的查询执行,毋庸置疑是程序员必备技能之一,然而数据库查询执行的过程绚烂多彩,却是很少被人了解,今天哥哥要带你装逼带你飞,深入一下这sql查询的来龙去脉,为查询的性能优化处理打个基础,或许面试你也会遇到,预防不跪还是看看吧。这篇博客,摒弃查询优化性能,作为其基础,只针对查询流程讲解剖析。本片博客阐述的过程为1、上一个标识过的sql语句,展示查询执行的流程2、上一个流程图3、做一个例子逐步深...转载 2018-04-09 13:50:36 · 310 阅读 · 0 评论 -
sql语句的优化分析
开门见山,问题所在sql语句性能达不到你的要求,执行效率让你忍无可忍,一般会时下面几种情况。网速不给力,不稳定。服务器内存不够,或者SQL 被分配的内存不够。sql语句设计不合理没有相应的索引,索引不合理没有有效的索引视图表数据过大没有有效的分区设计数据库设计太2,存在大量的数据冗余索引列上缺少相应的统计信息,或者统计信息过期....那么我们如何给找出来导致性能慢的的原因呢?首先你要知道是否跟sq...转载 2018-04-09 14:01:35 · 203 阅读 · 0 评论 -
数据库查询 sysobjects
sysobjectssysobjects是系统自建的表,里面存储了在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等),各在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。1.查询数据表中的字段 EShop为数据库名TbAdmin为表名use EShop select name="name" from syscolumns where id=object_id...转载 2018-04-09 14:55:55 · 631 阅读 · 0 评论 -
存储过程详解
存储过程简介什么是存储过程:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程的好处:1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。2.一个存储过程在程序在网络中交互时...转载 2018-04-09 14:57:52 · 223 阅读 · 0 评论 -
PowerDesigner最基础的使用方法入门学习
1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其他的概念知识可自行学习)我的PowerDesigner版本是16.5的,如若版本不一样,请自行参考学习即可。(打开软件即是此页面,可选择Create Model,也可以选择Do Not Show page Again,自行在打开软件后创建也可以!完全看个人的喜好,在此我在后面的学习中不在显示此页面。)2:首先创建概念数...转载 2018-04-10 08:10:50 · 173 阅读 · 0 评论 -
索引的作用?为什么能够提高查询速度?(索引的原理)
为什么能够提高查询速度?索引就是通过事先排好序,从而在查找时可以应用二分查找等高效率的算法。一般的顺序查找,复杂度为O(n),而二分查找复杂度为O(log2n)。当n很大时,二者的效率相差及其悬殊。举个例子:表中有一百万条数据,需要在其中寻找一条特定id的数据。如果顺序查找,平均需要查找50万条数据。而用二分法,至多不超过20次就能找到。二者的效率差了2.5万倍! 在一个或者一些字段需要频繁用作查...转载 2018-04-10 08:12:37 · 673 阅读 · 0 评论 -
SQL SERVER全面优化-------索引有多重要?
想了好久索引的重要性应该怎么写?讲原理结构?我估计大部分人不愿意看,也不愿意花那么多时间仔细研究。光写应用?感觉不明白原理一样不会用。举例说明?情况太多也写不全....到底该怎么写呢? 随便写吧,想到哪写到哪! 前面很多篇不管CPU、内存、磁盘、语句等等等都提到了索引的重要,我想刚刚开始学数据库的在校学生都知道索引对语句性能的重要性。但他们可能不知道,对语句的重要性就是对系统的重要性! ...转载 2018-04-10 08:13:27 · 206 阅读 · 0 评论 -
30分钟带你熟练性能优化的那点儿事儿(案例说明)
前言 性能优化是数据库运维人员和中、高级软件开发人员的必备技能,很多时候老司机和新司机的区别就在写出的东西是否优化。 博主接触过近千家客户的系统,这些系统都存在着各种各样的性能问题。那么如何透彻的了解我们的数据库性能问题?今天就用一个案例来说明性能优化的那点儿事儿。 PS:很多技术人员对优化有一套自己的理解,在阅读本文前请放下你自己的理解。 正所谓:跟着博主不迷路,博主带你上高速! 点...转载 2018-04-10 08:14:19 · 380 阅读 · 0 评论 -
图解性能分析工具ClearTrace整合分析结果
本篇经验将和大家介绍性能分析工具ClearTrace整合分析结果,希望对大家的工作和学习有所帮助!方法/步骤提供较丰富的操作界面,如下图所示:分析前的查询可通过条件“应用程序”、“主机名”、“登录名”、“事件”筛选,如下图所示:备注:这里“事件”选择,当选择“Statement”是结果统计的是SQL语句,当选择“Batches”时结果统计的是存储过程。这个选项可以区分是要做语句分析,还是存储过程分...转载 2018-04-13 16:04:36 · 323 阅读 · 0 评论