`
java-mans
  • 浏览: 11429880 次
文章分类
社区版块
存档分类
最新评论

索引压缩估计

 
阅读更多

需要明确SCHEMA, TABLE, COMPRESSION TYPE:

USE DatabaseNameHere;
GO
-- Get estimated data compression savings and other index info
-- for every index in the specified table
SET NOCOUNT ON;
DECLARE @SchemaName SYSNAME = N'SchemaNameHere';                          -- Specify schema name
DECLARE @TableName SYSNAME = N'TableNameHere';                           -- Specify table name
DECLARE @IndexID INT = 1;
DECLARE @CompressionType NVARCHAR(60) = N'CompressionTypeHere'                 -- Specify data compression type (PAGE, ROW, or NONE)


-- Get table name, row count, and compression status 
-- for clustered index or heap table
SELECT      OBJECT_NAME([object_id]) AS [ObjectName], 
            SUM([Rows]) AS [RowCount], 
            data_compression_desc AS [CompressionType]
FROM sys.partitions 
WHERE index_id < 2 -- ignore the partitions from the non-clustered index if any
AND OBJECT_NAME([object_id]) = @TableName
GROUP BY [object_id], data_compression_desc
ORDER BY SUM([Rows]) DESC;


-- Breaks down buffers used by current database by object (table, index) in the buffer pool
SELECT      OBJECT_NAME(p.[object_id]) AS [ObjectName], 
            p.index_id, 
            COUNT(*)/128 AS [Buffer size(MB)],
            COUNT(*) AS [BufferCount], 
            p.data_compression_desc AS [CompressionType]
FROM  sys.allocation_units AS a
            INNER JOIN sys.dm_os_buffer_descriptors AS b ON a.allocation_unit_id = b.allocation_unit_id
            INNER JOIN sys.partitions AS p ON a.container_id = p.hobt_id
WHERE b.database_id = DB_ID()
            AND OBJECT_NAME(p.[object_id]) = @TableName
            AND p.[object_id] > 100
GROUP BY p.[object_id], p.index_id, p.data_compression_desc
ORDER BY [BufferCount] DESC;




-- Shows you which indexes are taking the most space in the buffer cache


-- Get current and estimated size for every index in specified table
DECLARE curIndexID CURSOR
FAST_FORWARD
FOR
    -- Get list of index IDs for this table
    SELECT  s.index_id
    FROM    sys.dm_db_index_usage_stats AS s
    WHERE   OBJECT_NAME(s.[object_id]) = @TableName
                  AND s.database_id = DB_ID()
    ORDER BY s.index_id;
        
OPEN curIndexID;


FETCH NEXT
FROM curIndexID
INTO @IndexID;


-- Loop through every index in the table and run sp_estimate_data_compression_savings
WHILE @@FETCH_STATUS = 0
    BEGIN


        -- Get current and estimated size for specified index with specified compression type
        EXEC sp_estimate_data_compression_savings @SchemaName, @TableName, @IndexID, NULL, @CompressionType;


        FETCH NEXT
        FROM curIndexID
        INTO @IndexID;


    END


CLOSE curIndexID;
DEALLOCATE curIndexID;


-- Index Read/Write stats for a single table
SELECT      OBJECT_NAME(s.[object_id]) AS [TableName], 
            i.name AS [IndexName], 
            i.index_id,
            SUM(user_seeks) AS [User Seeks], 
            SUM(user_scans) AS [User Scans], 
            SUM(user_lookups)AS [User Lookups],
            SUM(user_seeks + user_scans + user_lookups)AS [Total Reads], 
            SUM(user_updates) AS [Total Writes]     
FROM  sys.dm_db_index_usage_stats AS s
            INNER JOIN sys.indexes AS i ON s.[object_id] = i.[object_id]
            AND i.index_id = s.index_id
WHERE OBJECTPROPERTY(s.[object_id],'IsUserTable') = 1
            AND s.database_id = DB_ID()
            AND OBJECT_NAME(s.[object_id]) = @TableName
GROUP BY OBJECT_NAME(s.[object_id]), i.name, i.index_id
ORDER BY [Total Writes] DESC, [Total Reads] DESC;




-- Get basic index information (does not include filtered indexes or included columns)
--EXEC sp_helpindex @TableName;




-- Get size and available space for files in current database
SELECT      name AS [File Name], 
            physical_name AS [Physical Name], 
            size / 128.0 AS [Total Size in MB],
            size / 128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS [Available Space In MB], 
            [file_id]
FROM  sys.database_files;


分享到:
评论

相关推荐

    论文研究-基于块稀疏度估计的压缩感知自适应重构算法.pdf

    首先对信号的块稀疏度进行初步估计,计算得到一个支撑块索引集合的估计值,利用得到的估计值对残差进行初始化;然后对测量矩阵的子块和当前残差进行相关性匹配操作,以选取信号的支撑块集合,依据正则化原则再次对由...

    Managing Gigabytes: Compressing and Indexing Documents and Images

    3.4 索引压缩方法的效果 133 3.5 签名文件和位图 134 签名文件 135 位片签名文件(Bitsliced signature files) 139 签名文件分析 144 位图 147 签名文件和位图的压缩 148 3.6 索引方法的比较 151 3.7 大小...

    新一代视频压缩编码标准H.264—很清晰的

    3.1.4 运动估计 41 3.2 变换编码 54 3.2.1 变换编码的基本概念 54 3.2.2 K-L变换 54 3.2.3 离散余弦变换DCT 55 3.2.4 锯齿形扫描和游程编码 57 3.3 变换编码与预测编码的比较 58 3.4 熵编码 59 3.4.1 变长编码 59 ...

    论文研究 - 基于数据矩阵不变性的分类

    然后,对于任意对象,我们在每个类别中找到对象概率估计,然后在与最大概率相对应的对象类别中找到对象概率估计。 对于参数值序列,我们找到了一个收敛的错误率序列。 旨在增加数据种类和压缩稀有数据的参数会产生...

    tongrams:一个C ++库,可在压缩空间中提供快速的语言模型查询

    tongrams是一个C ++库,用于在压缩空间中索引和查询大型语言模型。 这是Giulio Ermanno Pibiri和Rossano Venturini的一些研究论文[1,2]的结果。 更具体地说,所实现的数据结构可用于将N- gram映射到其对应的(整数...

    数据库系统实现

    5.4.2 压缩位图 5.4.3 游程长度编码位向量的操作 5.4.4 位图索引的管理 习题 5.5 小结 5.6 参考文献 第6章 查询执行 6.1 一种查询代数 6.1.1 并、交和差 6.1.2 选择操作符 6.1.3 投影操作符 ...

    算子迭代与自相似集 [许绍元 著] 2013年版

    算子迭代与自相似集 出版时间:2013年版 内容简介  《算子迭代与自相似集》主要涉及算子迭代与自相似集两个方面,系统介绍了若干压缩算子通过Picard迭代得到的不动点结果及其在迭代函数系统中的应用,进而介绍...索引

    7-Zip v4.57压缩算法LZMA源码包

    内容索引:C#源码,算法相关,7-Zip,压缩算法,LZMA 7-Zip是一款具有极高压缩比的小巧压缩软件,很多人都想知道它的压缩机制是怎么样的,这个压缩包将揭开它的神秘面纱,内附说明文件和VJ(Java)、VC++、VC#以及C的...

    基于压缩感知的步长自适应前向后向追踪重建算法

    AFBP能够自适应后向删除估计支撑集中部分错误索引以提高信号准确重建概率。在稀疏信号非零值服从常见分布条件下,用AFBP、FBP等算法进行重建的结果表明,AFBP的准确重建概率、重建精度与FBP相当,重建时间明显少于FBP,...

    App015.zip

    Qt的C++QTableModel实现起来有点乱,尤其QModelIndex、rolenames不知所云(估计是索引、数据访问方面的考虑),但要与qml混用就很麻烦。我自行实现QAbstractListModel,既可以用作ListModel,又可以用作TableModel,...

    《数字图像处理》冈萨雷斯 第三版part1(共1-3部分)

     5.2.4 估计噪声参数  5.3 仅有噪声的复原:空间滤波  5.3.1 空间噪声滤波器  5.3.2 自适应空间滤波器  5.4 通过频域滤波来降低周期噪声  5.5 退化函数建模  5.6 直接逆滤波  5.7 维纳滤波  5.8 约束的...

    ORACLE9i_优化设计与系统调整

    §13.1.10 压缩索引 165 §13.2 创建索引和使用索引 165 §13.2.1 使用函数索引 165 §13.2.2 使用位图索引- 166 §13.2.3 使用B树索引- 166 §13.2.4 使用反向键索引- 166 §13.2.5 使用索引组织表 166 §13.3 使用...

    sthir:使用光谱布隆过滤器在客户端添加搜索功能的库

    频谱布隆过滤器与常规过滤器不同,因为它们可以存储每个哈希的计数(它可以估计至少索引了哈希的次数)。 我们正在使用有效的base 15解码来压缩和传输客户端的Bloom过滤器。 我们的目标可以用一个简单的方程式来...

    地理信息系统算法基础.rar

    1.5.1如何估计算法运行时间 1.5.2最坏情况和平均情况的分析 1.5.3平摊分析 1.5.4输入大小和问题实例 思考题 第2章GIS算法的计算几何基础 2.1维数扩展的9交集模型 2.1.1概述 2.1.2模型介绍 2.1.3空间...

    地理信息系统算法基础

    目录序前言第1章算法设计和分析1.1概述1.2算法设计原则1.3算法复杂性的度量1.3.1时间复杂性1.3.2空间复杂性1.4最优算法1.5算法的评价1.5.1如何估计算法运行时间1.5.2最坏情况和平均情况的分析1.5.3...

    Oracle数据库管理员技术指南

    2.4.5 怎样从数据字典中提取索引定义 2.5 回顾 第3章 导出和导入技术 3.1 导出/导入特性概述 3.1.1 使用导出和导入 3.1.2 导出/导入的一般使用 3.1.3 导出方式 3.1.4 导入方式 3.1.5 创建必需的数据字典视图...

    JapaneseStudy:日语学习的各种资源和实用程序

    日本学习安基甲板使用注意事项: 大多数.anki文件会变得很大,因此我需要重新创建它们的各个部分(例如,数据的tsv以及字段和模板的描述),以及包含压缩格式数据的压缩包。 每个甲板的目的: Kore-来自core2k / ...

    Turbo网站评论「Turbo website review」-crx插件

    HTML比率GZIP压缩测试WWW / NON-WWW解析IP规范化XML网站地图Robots.txt URL重写下划线URL嵌入式对象iframe检查域注册WHOIS数据索引页面计数(Google)反向链接计数器URL计数Favicon测试自定义404页面测试页面大小...

Global site tag (gtag.js) - Google Analytics