随笔分类 - SQLServer优化
摘要:一,非聚集索引组合索引 用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。但复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。 同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,如果不特
阅读全文
摘要:一,非聚集索引的include 非聚集索引的Include属性可以让非聚集索引包含其他列。如 CREATE NONCLUSTERED INDEX [NonIxUser] ON [dbo].[Users] ( [NAME] ASC ) INCLUDE ( [ID], [CreatTime]) GO 这
阅读全文
摘要:一,新建测试表 CREATE TABLE [dbo].[Users]( [ID] [int] IDENTITY(1,1) NOT NULL, [NAME] [char](80) NOT NULL, [CreatTime] [datetime] NOT NULL ) ON [PRIMARY] 删除默认
阅读全文
摘要:一、索引的概念和分类 索引的概念大家都知道,日常开发中我们也会使用常见的聚集索引、非聚集索引。但是除了这两者以外,sqlserver中还提供其他的索引,如: a. 唯一索引:不包含重复键的索引,聚集索引或者非聚集索引都可以是唯一索引。 b. 包含列的索引:它扩展后不仅包含键列,还包含非键列。 c.
阅读全文
摘要:一、表结构综述 下图是SQL Server中表的组织形式(其中分区1、分区2是为了便于管理,把表进行分区,放到不同的硬盘数据文件里。默认情况下,表只有一个分区。)。表在硬盘上的存放形式,有堆和B树两种形式。 图最下方的三个叶子节点,数据、LOB、行溢出是数据在硬盘上存放数据的集合。可以这么理解,SQ
阅读全文
摘要:一、基本单位“页” SQL Server是用8KB的页来存储数据。物理I/O操作也是在页级执行。页的种类有很多,具体参考(MSDN)。我们关注更多的是数据页的结构,包括三部分:页头(96bytes)、数据区(数据行和可用空间)以及行偏移数组(槽,最少是7bytes): 为什么数据页的大小是8k,这有
阅读全文
摘要:1. 如果对数据不是工业级的访问(允许脏读),在select里添加 with(nolock) SELECT TOP 10 ID FROM Measure_heat WITH (nolock) 2. 限制结果集的数据量,如使用TOP 100等来限制返回的行数。实在不行,在数据库内分页。 3. 查询时不
阅读全文
摘要:一、 是否需要冗余列 现在一些项目的数据库设计中,为了提高查询速度,把基本表的一些列也放到了数据表里,导致数据冗余。例如在热表的数据库里,原始数据表Measure_Heat里加了如房间号,单元号,楼号,小区,户主姓名,户主编号等列。以下分析其性能。 测试步骤: 1. 建立相同的表(不包含冗余列,如房
阅读全文
摘要:命名规范是一个老生常谈的问题,好的命名规范对于团队程序开发,对bug定位、处理,项目延续有很重要的作用。 一、 列举现在的问题: 1.名称首字母不大写 2. 用中文名字 3. 语句书写不规范,如下,关键字基友大写也有小写。编程风格不统一。 二. 通常的数据库对象命名基本规范(网络+自己整理) 1.
阅读全文
摘要:关于SQL Server Profiler的使用,网上已经有很多教程,比如这一篇文章:SQL Server Profiler:使用方法和指标说明。微软官方文档:https://msdn.microsoft.com/zh-cn/library/ms179428(v=sql.105).aspx有更详细的
阅读全文
摘要:以下常用的SQL语句有利于我们分析数据库的基本信息,然后根据查询的结果进行优化。 1. 查看索引碎片 无论何时对基础数据执行插入、更新或删除操作,SQL Server 数据库引擎都会自动维护索引。随着时间的推移,这些修改可能会导致索引中的信息分散在数据库中(含有碎片)。当索引包含的页中的逻辑排序(基
阅读全文
摘要:在一切开始之前,先看下微软的建议:在系统的整体性能优化里面, TSQL优化优先级并不是最高的。 本文包括四部分: SET STATISTICS TIME ON SET STATISTICS IO SET SHOWPLAN_ALL ON SET STATISTICS PROFILE ON SET 函数主要是为了显示sql执行时的查询计划,CPU、硬盘使用...
阅读全文
摘要:版本是 arcgis for server 10.02 症状 1. manager网页无法打开http://localhost:6080/arcgis/manager/ 2. 查看服务无法启动,启动后自己马上自己又停止 解决方法 重装软件 没用,估计每个用arcgis的人都尝试过吧。。。 1. 卸载
阅读全文