块索引表
2017-03-21 09:50:01 0 举报
块索引表是一种数据库中用于存储数据的数据结构,它将数据划分为多个块,每个块包含一定数量的记录。每个块都有一个唯一的标识符,称为块地址或块号。当用户需要查询某个范围内的记录时,系统会根据查询条件找到对应的块,然后扫描该块中的记录,从而快速定位到所需的数据。块索引表可以提高查询效率,减少磁盘I/O操作,降低系统的响应时间。此外,块索引表还可以实现数据的并行处理,提高系统的并发性能。总之,块索引表是数据库中一种重要的数据结构,它为数据的存储和检索提供了高效的支持。
作者其他创作
大纲/内容
存储单元索引表
UINT16 crc;\t\t\t\t/*校验和,计算前统一置成0再计算*/UINT32 unitNum;\t\t\t/*当前block对应的unit编号*/UINT8 bUsed:1;\t\t\t/*是否被使用*/UINT8 bbad:1;\t\t\t /*是否损坏*/UINT8 bStart:1;\t\t\t/*是否是文件开始*/UINT8 bFinish:1;\t\t /*文件是正常结束*/UINT8 reserve:4;\t\t /*预留*/UINT8 type;\t\t\t\t/*文件类型*/UINT32 size;\t\t\t /*文件大小*/UINT16 channel;\t\t\t/*如果是一个文件的开始,则表示该文件所属通道号*/UINT64 BeginTime;\t\t /*开始时间(年月日时分秒毫秒)*/UINT64 EndTime;\t\t\t/*结束时间(年月日时分秒毫秒)*/UINT32 ProtectEndTime;\t/*保护结束时间(年月日)*/
存储单元索引头
块信息(BLOCK_INFO)
UINT16 crc;\t\t\t/*校验和,计算前统一置成0再计算*/UINT8 needFlush;\t\t/*当前组是否需要刷新索引表*/UINT32 groupid; /*所属组的id*/UINT64 BeginTime;\t\t/*当前blockTable包含文件中最早的开始时间*/UINT64 EndTime;\t\t/*当前blockTable包含文件中最后的结束时间*/UINT8 bHaveFreeUnit;\t/*是否存在空闲存储单元*/struct _channel_info_{ UINT64 BeginTime; /*当前通道包含文件中最早的开始时间(年月日时分秒)*/ UINT64 EndTime; /*当前通道包含文件中最后的结束时间(年月日时分秒)*/ UINT64 size; /*当前通道占用存储空间大小*/}ChannelInfo[SPORT_MAX_CHANNEL_CNT];/* 最多支持256个通道\t*/UINT32 bitmapSize; UINT8 *Bitmap; /*当前存储组中所有存储单元的使用状态位图*/UINT32 blockCnt;\t\t/*当前存储组的存储单元个数*/\t\t
BLOCK_INFO block[0];\t/*存储单元块信息表*/
存储单元块信息表
0 条评论
下一页