![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 60
begeneral
这个作者很懒,什么都没留下…
展开
-
sqlserver将mdf文件拆分成多个ndf文件
sqlserver2008 mdf文件拆分原创 2023-01-30 11:05:55 · 2063 阅读 · 2 评论 -
sqlserver性能优化之索引最左匹配
sqlserver索引的最左匹配原则原创 2022-09-02 15:20:54 · 669 阅读 · 0 评论 -
sqlserver性能优化建议
1、索引1.1、索引的数量不是越多越好,因为索引多了会影响数据增删改的速度,从而引起死锁,所以索引应该建立在查询频率很高的字段上。1.2、索引列的选择。索引列应该建立在列值重复率低的列上。因为当列值重复率高的时候,索引的查询效率比较低。1.3、对于有聚集索引的表,表数据的存储顺序是按照聚集索引的第一个列升序排列的。这里顺便提一下,当我们不使用order by来查询一个表的数据时,数据是按照ID自增主键升序显示的,这足以证明刚才的论点。1.4、主键和聚集索引的关系。主键不允许有重复值,但聚集索原创 2020-10-03 15:58:08 · 1401 阅读 · 0 评论 -
sqlserver 使用脚本创建跟踪文件
测试环境:sqlserver 2019什么是跟踪文件?跟踪文件就是能记录sqlserver 执行的每一条语句的文件。通过这个文件,我们可以看到每一条语句执行时所耗费的资源,比如:cpu时间、查询持续时间(Duration)、逻辑读取次数、查询开始时间、查询结束时间等。SQL Server Profiler可以实现这个功能,但是它是一个UI界面,只能查看,不能保存到文件(其实可以保存到文件,不过操作比较麻烦,不如SQL脚本方便)。而且这个UI界面在打开的时候对查询性能有很大的影响,所以不适合在生产环境原创 2020-06-20 17:43:18 · 557 阅读 · 0 评论 -
sqlserver非聚聚索引原理
本文所使用的测试数据库:SQLSERVER2012非聚集索引和聚集索引都是B+树数据类型,但是在存储上有很大的区别。下面我们通过创建测试表来研究一下非聚集索引的存储结构。CREATE TABLE [dbo].[Department8]( [DepartmentID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](200) NOT NU...原创 2019-03-30 16:42:12 · 871 阅读 · 0 评论 -
sqlserver聚集索引和非聚集索引并存
前面两篇文章讲解了一个数据表只存在聚集索引和只存在非聚集索引的情况,接下来我们来讨论一下当聚集索引和非聚集索引同时存在的情况,这种情况也是大多数表都存在的情况。CREATE TABLE Department11( DepartmentID int IDENTITY(1,1) NOT NULL PRIMARY KEY, Name NVARCHAR(200) NOT NUL...原创 2019-03-30 18:08:50 · 1221 阅读 · 0 评论 -
SqlServer聚集索引原理
测试所用数据库:SQLSERVER2012我们都知道索引能提高查询速度,那么索引到底是怎么提高查询速度的呢?这要从索引的数据结构说起索引分为聚集索引和非聚集索引,这两种索引的数据结构都是B+树,这篇文章主要讲解聚集索引首先我们创建一个测试表:CREATE TABLE Department( DepartmentID int IDENTITY(1,1) NOT NULL ...原创 2019-03-24 17:05:35 · 2490 阅读 · 2 评论 -
sqlserver TempDB详解
本人使用的测试数据库是2012版本的TempDB就是临时数据库。它具有以下特性:1、重启服务之后,没有东西会存储在TempDB中,因为每次重启都会重建。隐含的意思就是你不可以对这个库进行备份还原。2、它永远是简单恢复模式。3、它只是一个文件组,就是Primary文件组,不能增加额外的文件组,但是可以增加文件。4、它主要存放3类对象:用户对象、内部对象、版本存储。下面介绍一下...原创 2019-05-04 12:09:22 · 4952 阅读 · 0 评论