SQLServer 索引相关
文章平均质量分 84
薛定谔的DBA
这个作者很懒,什么都没留下…
展开
-
SQL Server 重建索引与重组索引区别
下一次执行日志备份(BULK_LOGGED 模式或切换到 FULL 模式)时也将包含重建更改的所有范围,因此日志备份的大小与在 FULL 恢复模式下重建索引完成的大小是一样的。因此,索引重组非常节省空间。和往常一样,我推荐Ola Hallengren的免费代码,而不是编写你自己的索引维护解决方案(是的,其他人也做过类似的工作,但我认为Ola的代码是迄今为止最好的、使用最广泛的)。正如你所看到的,在重建和重组之间有相当多的主要区别,但是对于你应该使用哪一个并没有正确的答案——那是你的选择。原创 2023-02-05 14:22:55 · 1838 阅读 · 0 评论 -
SQL Server 2017 创建索引可暂停恢复
参考:ALTER INDEX (Transact-SQL)文章摘自:SQL Server 2017 Resumable Online Index RebuildsProblemDatabase performance optimization is always a key task for the DBA. Index maintenance plays a vital role i...转载 2019-04-23 00:46:46 · 1904 阅读 · 0 评论 -
SQLServer 2014 重新生成已分区表的单独分区
SQLServer 2014 重新生成已分区表的单独分区原创 2016-08-20 09:06:29 · 2333 阅读 · 0 评论 -
SQLServer 2012 列存储索引
SQL Server 数据库引擎中的列存储索引可用于显著加快常见数据仓库查询的处理时间。 典型的数据仓库工作负荷涉及汇总大量数据。 在数据仓库和决策支持系统中通常用于提高性能的技术包括预先计算的汇总表、索引视图、OLAP 多维数据集等。 尽管这些技术可极大提高查询处理的速度,但这些技术可能不灵活、难于维护并且必须针对每个查询问题进行专门设计。数据类型的限制:◆ char 和va原创 2015-09-19 17:17:28 · 2605 阅读 · 0 评论 -
SqlServer重建索引
--查看一个表的索引信息declare @table_id int set @table_id=object_id('tablename') dbcc showcontig(@table_id) - 扫描密度 [最佳计数:实际计数].......: 69.57% [16:23]从上面命令的执行结果可以看的出来,Best count为16 而Actual Count为原创 2013-06-24 11:02:34 · 1207 阅读 · 0 评论 -
SQL Server 聚集索引在函数中使用以至失效(案例)
最近在进行一期的优化,先把数据库中最耗时的前N个语句查询出来!SELECT TOP 10 qp.query_plan,qt.text,total_worker_time from sys.dm_exec_query_stats CROSS APPLY sys.dm_exec_sql_text(sql_handle) qt CROSS APPLY sys.dm_exec_query原创 2015-04-23 03:08:57 · 3755 阅读 · 0 评论 -
SQLServer 唯一键约束和唯一索引有什么区别?
以前也想了解到底有什么区别,但是搁着又忘记了,因为我们很少用唯一键约束。直到几天前同事给我个脚本来约束某个字段的唯一性,用的是唯一键约束,这问题又萦绕脑中了。看似有区别,又没发现什么大的区别!实际上也没多大区别,还是测试看看吧。USE [DemoDB]GOCREATE TABLE [dbo].[TableUniqueKey]( id int not null, name va原创 2015-08-30 20:39:03 · 26997 阅读 · 0 评论 -
SQL Server索引中的碎片和填充因子
简介 在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构(表上没有聚集索引则为堆结构,不在本文讨论之列)如下图: 在聚集索引B树中,只有叶子节点实际存储数据,而其他根节点和中间节点仅仅用于存放查找叶子节点的数据. 每一个叶子节点为一页,每页是不可分割的. 而SQL Serv转载 2013-09-11 22:27:05 · 1696 阅读 · 0 评论 -
sqlserver 建立索引视图各问题!
--我的 tab 表有 60398 条数据,大家可以用自己的任意表测试SELECT * FROM tab GO--新建表MYTABLE,带序号IF object_id(N'[dbo].[MYTABLE]') IS NOT NULL drop table MYTABLESELECT IDENTITY(INT,1,1) ID,* INTO MYTABLE FROM tabGO SE原创 2012-11-10 17:30:42 · 8703 阅读 · 0 评论