- 博客(23)
- 资源 (10)
- 收藏
- 关注
原创 SQL Server阻塞原因与解决方法
上篇说SQL Server应用模式之OLTP系统性能分析。五种角度分析sql性能问题。本章依然是SQL性能 五种角度其一“阻塞与死锁”这里通过连接在sysprocesses里字段值的组合来分析阻塞源头,可以把阻塞分为以下5种常见的类型(见表)。waittype,open_tran,status,都是sysprocesses里的值,“自我修复?”列的意思,就是指阻塞能不能自动消失。 5种常见
2013-10-31 18:13:16 7363 1
转载 通过DBCC PAGE查看页信息验证聚集索引和非聚集索引节点信息
前言在阅读之前可以参考之前的一篇博客:通过DBCC IND分析表组织和索引组织1.DBCC PAGE基础page是sql server中最小的IO单位,在数据库中如果我们只是查询一行记录,也会读取这一行所在的整个页信息。那么page里面是如何存储信息的呢?我们可以通过dbcc page解析页的相信信息。当我们知道page是如何存储数据以后,对于我们后面解析聚集索引和非聚集索引的叶子
2013-10-30 17:47:43 617
转载 SQL Server 数据库-页结构
SQL Server 数据库-页结构数据页(Data Page),是SQL Server最小的存储单位,类似Oracle的数据块(Data Block),数据存放在“数据页”中。一个数据Page Header指出页面中所有标题字段的数据。Data指出每一行的信息。对于每一行,DBCC Page指出行在槽中的位置,以及该行在页面中的偏移量。页面数据被分成3部分,左列指出的是所显示的数据在行中
2013-10-30 17:40:10 1167
转载 SQL Server死锁总结
1. 死锁原理 根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。 死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。非剥夺条件(No p
2013-10-29 18:20:39 509
转载 如何有效抓取SQL Server的BLOCKING信息
SQL Server允许并发操作,BLOCKING是指在某一操作没有完成之前,其他操作必须等待,以便于保证数据的完整性。BLOCKING的解决方法要查看BLOCKING的头是什么,为什么BLOCKING头上的语句执行的很慢。通常来讲只要我们能找到BLOCKING头上的语句,我们总能够想出各种各种的办法,来提升性能,缓解或解决BLOCKING的问题。 但是问题的关键是,我们不知道BLOC
2013-10-29 15:53:05 494
转载 看懂SqlServer查询计划
看懂SqlServer查询计划阅读目录开始SQL Server 查找记录的方法SQL Server Join 方式更具体执行过程索引统计信息:查询计划的选择依据优化视图查询推荐阅读-MSDN文章对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQL Server查询
2013-10-25 13:04:32 542
转载 表的连接方式:NESTED LOOP、HASH JOIN、MERGE JOIN(修改)
表连接方式及使用场合NESTED LOOP 嵌套循环连接 由两个for循环组成。不管什么连接,本算法都可以使用。连接的两个关系,分别称之为外层关系和内层关系,把数据块数大的关系作为外层关系,小的关系作内层关系。分为块嵌套循环连接(简单点说,就是把已经放在内存的两个关系块全部连接完成后再进行下一数据库块的比较,减少内存中数据块的IO)和索引嵌套循环连接(如果内层关系有索引,使用
2013-10-25 11:16:33 848
转载 SQL Server 联接提示、查询提示、表提示
分类: 学习笔记:性能优化、高可用性、DMV/DMF 2012-09-04 16:13238人阅读 评论(0)收藏 举报joinmergesql server优化目录(?)[-]将表提示指定为查询提示筛选索引提示使用 NOEXPAND将表提示用作查询提示SQL Server的查询优化器在select查询执行的时候产生一个高效的查询执行
2013-10-24 18:12:01 1332
转载 SQL Server 性能基线和监控 (powershell )
就讲讲监控那些值,基线抓的是那些值。如何做告警环境:windows 2008r2,sql server 2008r2 sp1性能基线: cpu: \Processor(_Total)\% Processor Time \Processor(_Total)\% Privileged Time \SQLServer:SQL Statistics\Batch
2013-10-24 15:17:47 979
转载 理解SQL Server中索引的概念,原理以及其他
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能。但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索引的概念,需要了解大量原理性的知识,包括B树,堆,数据库页,区,填充因子,碎片,文件组等等一系列相关知识,这些知识写一本小书也不为过。所以本文并不会深入讨论这些主题。
2013-10-24 12:53:50 489
转载 理解SQL SERVER中的逻辑读,预读和物理读
在我的上一篇关于SQL SERVER索引的博文,有圆友问道关于逻辑读,预读和物理读的概念.我觉的还是写一篇博文能把这个问题解释清楚。 SQL SERVER数据存储的形式 在谈到几种不同的读取方式之前,首先要理解SQL SERVER数据存储的方式.SQL SERVER存储的最小单位为页(Page).每一页大小为8k,SQL SERVER对于页的读取是原子性,要么读完一页,要
2013-10-24 11:09:26 490
原创 SQL SERVER统计服务器所有的数据库(数据库文件)、表(表行数)、字段(各字段)等详细信息
USE STATGOSET NOCOUNT ON IF EXISTS(SELECT 1 FROM SYS.TABLES WHERE TYPE='U' AND name='DBInfo') DROP TABLE DBInfoIF EXISTS(SELECT 1 FROM SYS.TABLES WHERE TYPE='U' AND name='ColumnsInfo') DROP TAB
2013-10-23 09:53:11 580
原创 sql server性能分析--查看当前执行的SQL
SELECT [Spid] = session_Id, ecid, [Database] = Db_name(sp.dbid), [User] = nt_username, [Status] = er.status, [Wait] = wait_type, [Individual Query] = Su
2013-10-22 11:14:19 612
原创 sql server 性能分析--死锁检测数据库阻塞语句
工作中数据库经常出错死锁,并且还要要求解决当前的死锁,问题多多;参照CSDN,中国风(Roy)一篇死锁文章并改进了下;/***********************************************************************************************************************整理人:黑木崖上的蜗牛(len
2013-10-22 09:19:27 632
原创 sql server性能分析--索引密度和碎片信息
查询数据库中所有表的索引密度和碎片信息,以便为索引的重建和整理提供依据,也可以参考DBCC SHOWCONTIG,通常FRAGMENTATIOIN在30%以上建议重建,否则建议整理SELECT i.name AS indexname, o.name AS tablen
2013-10-22 09:09:21 1112
原创 sql server性能分析--执行sql次数和逻辑次数
目前在做一个项目优化时,想通过数据库层分析sql server系统性能,查了一下网上代码,修改了一下标题和DMVs代码,以下代码可以用来分析系统运行一段时间后,那些语句是系统忙的sql语句。做为参考。 另类使用: 一次在分析一个对账功能时,查看系统代码,看了半天,写得太不规范,又不写注释,看不明白。最后用了下面一个小技巧,和大家一起分享: 就是在测量功能时,先以下命令清除s
2013-10-21 18:44:58 667
原创 sql server性能分析--索引使用效率评估
dmv分析索引的使用情况,包括扫描次数,更新次数,有利于你评估设计的索引使用效率,sql server 2005的确比2000在性能分析上提高很多。user_seeks : 通过用户查询执行的搜索次数。 个人理解:此统计索引seek的次数user_scans: 通过用户查询执行的扫描次数。 个人理解:此统计表扫描的次数,无索引配合user_lookups: 通过用户查询执行的查
2013-10-21 18:42:36 1725
原创 PostgreSQL 和 MySQL 创建帐号,数据库,权限
(1) PostgreSQL:创建用户 xxxx1,密码 xxxx,创建数据库 xxxx2,赋予 xxxx1 在 xxxx2 上的所有权限。
2013-10-15 14:44:39 558
原创 postgresql 查看数据库,表,索引,表空间以及大小
客户要求用pgsql,所在服务器装了一下pgsql,我出了一个pgsql的分类,看这篇文章前,把这个分类下的文章都可以看一下,这是我熟悉pgsql的一套流程。以前搞过一次pgsql,很早了。1,查看数据库playboy=> l //加上字母l,相当于mysql的,mysql> show databases;List of databasesName | Owner | Encoding
2013-10-15 11:43:27 966
翻译 Optimize only fragmented tables in MySQL
When you are using MySQL, you will (likely) have tables that can be fragmented. In MySQL terms this is called "OPTIMIZE".You could simply OPTIMIZE every table in every database, but during an OPTIMI
2013-10-14 10:56:22 613
转载 mysql命令行参数
一,mysql命令行参数Usage: mysql [OPTIONS] [database] //命令方式 -?, --help //显示帮助信息并退出 -I, --help //显示帮助信息并退出 --auto-rehash //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子 -A, --no-auto-rehash //默认状态是没有自动补全功能
2013-10-12 17:46:18 403
转载 postgresql 执行计划理解
首先看下postgresql 执行计划中的一些术语和关键字。执行计划运算类型操作说明是否有启动时间Seq Scan扫描表无启动时间Index Scan索引扫描无启动时间Bitmap Index Scan索引扫描有启动时间Bitmap Heap
2013-10-12 15:09:40 838
转载 MySQL索引分析和优化
MySQL索引分析和优化索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少
2013-10-09 16:37:56 373
网络编程大全(基于c++语言)
2010-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人