社区
VFP
帖子详情
懂索引文件IDX格式的大侠进
zhengwei1984222
2006-12-18 03:45:44
分析FP的索引IDX格式两天了,始终没搞明白ms是如何压缩存储key字段的,方法很奇怪
google上相关内容很少,唯有几篇还不如msdn详细:
http://msdn2.microsoft.com/en-us/library/s8tb8f47(VS.71).aspx
疑点在key字段是如何压缩的,请指教~
...全文
600
6
打赏
收藏
懂索引文件IDX格式的大侠进
分析FP的索引IDX格式两天了,始终没搞明白ms是如何压缩存储key字段的,方法很奇怪 google上相关内容很少,唯有几篇还不如msdn详细: http://msdn2.microsoft.com/en-us/library/s8tb8f47(VS.71).aspx 疑点在key字段是如何压缩的,请指教~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhengwei1984222
2006-12-27
打赏
举报
回复
哎,google搜索未果
give up
CaiNiaoWuZui
2006-12-18
打赏
举报
回复
学习
zhengwei1984222
2006-12-18
打赏
举报
回复
恩,你这个是中文版的...
记录号和关键字文本确实是分开的,关键字文本被放置在块尾
用2进制方式查看,能看出来的唯有记录号,压缩后的关键字文本完全变样
掩码是如何操作的不明白
很好奇ms的算法
十豆三
2006-12-18
打赏
举报
回复
压缩索引文件结构 (.idx)
压缩索引头记录
偏移字节 描述
00 – 03
指向根节点的指针
04 – 07
指向自由节点列表的指针(如果不存在,则为 -1)
08 – 11
保留供内部使用
12 – 13
关键字长度
14
索引选项(下列数字值或它们的和):
1 – 唯一索引
8 – 带有 FOR 子句的索引
32 – 压缩索引格式
64 – 复合索引标头
15
索引签名
16 – 19
保留供内部使用
20 – 23
保留供内部使用
24 – 27
保留供内部使用
28 – 31
保留供内部使用
32 – 35
保留供内部使用
36 – 501
保留供内部使用
502 – 503
升序或降序:0 = 升序,1 = 降序
504 – 505
保留供内部使用
506 – 507
FOR 表达式池的长度1
508 – 509
保留供内部使用
510 – 511
关键字池的长度1
512 – 1023
关键字表达式池(未编译)
1 该信息跟踪关键字表达式池中使用的空间。
压缩索引内部节点记录
偏移字节 描述
00 – 01
节点属性(下列数字值或它们的和):
a. 0 – 索引节点
b. 1 – 根节点
c. 2 – 叶节点
02 – 03
存在的关键字数量(0、1 或更多)
04 – 07
指向紧靠当前节点左边节点的指针(在同一层次上;如果不存在,则为 -1)
08 – 11
指向紧靠当前节点右边节点的指针(在同一层次上;如果不存在,则为 -1)
12 – 511
可达 500 个字符,以带有四字节十六进制数字的关键字长度包含关键字值(以正常的从左到右格式储存):
该节点总是包含索引关键字、记录编号和内联索引指针。2
02 – 03 字节将指出关键字/四字节十六进制数字组合出现的次数。
压缩索引的外部节点记录
00 – 01
节点属性(下列数字值或它们的和):
0 – 索引节点
1 – 根节点
2 – 叶节点
02 – 03
存在的关键字数量(0、1 或更多)
04 – 07
指向紧靠当前节点左边节点的指针(在同一层次上;如果不存在,则为 -1)
08 – 11
指向紧靠当前节点右边节点的指针(在同一层次上;如果不存在,则为 -1)
12 – 13
节点中可用的自由空间
14 – 17
记录号掩码
18
重复字节的计数掩码
19
后缀字节的计数掩码
20
用作记录编号的位数
21
用作重复计数的位数
22
用作后缀计数的位数
23
保存记录号、重复计数和后缀计数的字节数
24 – 511
索引关键字和信息2
2 每项都由记录号、重复字节计数和后缀字节计数组成,全部为压缩形式。关键字文本被放置在节点的逻辑尾,向后起作用,适用于当前的各个关键字项。
wwwwb
2006-12-18
打赏
举报
回复
这个恐怕只有MS才知道吧
当
索引
遇上null
原文来自newkid的大作《受楼下老大的NULL贴启发,讲两个NULL与
索引
的小技巧》。 众所周知,Oracle的B-Tree
索引
不包含null的条目,为此引申出了诸多“is null/... newkid
大侠
展示了一个方法让B-Tree
索引
包含null条目...
SQLSERVER如何查看
索引
缺失
SQLSERVER如何查看
索引
缺失 当大家发现数据库查询性能很慢的时候,大家都会想到加
索引
来优化数据库查询性能, 但是面对一个复杂的SQL语句,找到一个优化的
索引
组合对人脑来讲,真的不是一件很简单的事。 好在SQL...
mysql 使用
索引
_MySQL正确使用
索引
需要解决的问题知道sql为什么会走
索引
?为什么有些sql不走
索引
?sql会走那些
索引
,为什么会这么走?InnoDB存储引擎 B+树结构B+叶子节点(最下面的一层)存储关键字(
索引
字段的值)信息及对应的data,叶子节点存储了所有...
php查看数据表
索引
信息,MSSQL_SQLSERVER如何查看
索引
缺失及DMV使用介绍,当大家发现数据库查询性能很 - phpStudy...
SQLSERVER如何查看
索引
缺失及DMV使用介绍当大家发现数据库查询性能很慢的时候,大家都会想到加
索引
来优化数据库查询性能,但是面对一个复杂的SQL语句,找到一个优化的
索引
组合对人脑来讲,真的不是一件很简单的事。...
增加oracle数据
文件
表,增加数据
文件
后表空间不增加
今天在机房增加
索引
表空间index1,创建了750M的数据
文件
'/dev/xvguser1/rlv_
idx
12' ,
进
行扩充,第一次提示数据库用户没权限,然后用oracle用户sqlplus /"as sysdba"
进
行alter tablespace USER_INDEX1 add datafile '/...
VFP
2,749
社区成员
29,139
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章