[发明专利]在SQL Server中由应用系统的响应时间确定的聚集索引分区存储阈值的估算算法在审
申请号: | 201810522182.7 | 申请日: | 2018-05-28 |
公开(公告)号: | CN108733835A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 岳莉 | 申请(专利权)人: | 山东职业学院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 张贵宾 |
地址: | 250000*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 索引 估算 算法 时间确定 存储 应用系统 数据库管理系统 数据库设计 分区存储 时间需求 时空效率 数据行数 索引存储 应用程序 传统的 数据页 索引页 响应 条数 行数 页数 计算机 平衡 记录 应用 | ||
1.一种在SQL Server中由应用系统的响应时间确定的聚集索引存储阈值的估算算法,其特征在于,包括以下步骤:
S1:计算每页能存储的数据行数Rows_Per_Page;
S2:计算每页能存储的索引行数Index_Rows_Per_Page;
S3:计算聚集索引非叶级的最大级别数MAX_Non_Leaf_Levels;
S4:设定聚集索引的最大记录条数Max_Num_Rows;
S5:估算存储叶级数据页所需的页数Num_Leaf_Pages;
S6:估算非叶级索引页的级别数Non-leaf_Levels;
S7:计算B树的深度= Non-leaf_Levels + 1。
2.根据权利要求1所述的在SQL Server中由应用系统的响应时间确定的聚集索引存储阈值的估算算法,其特征在于,步骤S1包括:
S11:指定聚集索引表中固定长度和可变长度列的数量,并计算存储所需的空间;
Num_Cols = 总列数(包括固定长度和可变长度列)
Fixed_Data_Size = 所有固定长度列的总字节大小
Num_Variable_Cols = 可变长度列的数量
Max_Var_Size = 所有可变长度列的最大字节大小
S12:如果聚集索引不唯一,则需要确定唯一标识符列,唯一标识符是可为 Null 的可变长度列,在具有非唯一键值的行中,它非 Null 而且大小为 4字节,该值是索引键的一部分,用于确保每一行都具有唯一的键值;
Num_Cols = Num_Cols + 1
Num_Variable_Cols = Num_Variable_Cols + 1
Max_Var_Size = Max_Var_Size + 4
经过上述修改后假定所有值都是唯一的;
S13:保留行中称为空位图的部分以管理列的为空性,计算大小:Null_Bitmap = 2 +((Num_Cols + 7) / 8),对该表达式的计算结果取整数部分;
S14:如果表中有可变长度列,计算可变长度数据的大小:Variable_Data_Size = 2 +(Num_Variable_Cols × 2) + Max_Var_Size,在此假设所有可变长度列都是100%填充;如果表中没有可变长度列,则 Variable_Data_Size为 0;
S15:计算总的行大小:Row_Size = Fixed_Data_Size + Variable_Data_Size +Null_Bitmap + 4,表达式中的数值 4 是数据行的行标题的开销;
S16:计算每页的行数:Rows_Per_Page = 8096 / (Row_Size + 2),结果向下取整,表达式中的数值 8096 是每页可用的字节数,数值 2 是计算行数时引入的行大小余量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东职业学院,未经山东职业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810522182.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种面向用户的推荐方法、装置及存储介质
- 下一篇:一种智能便民服务系统