MariaDB社区

标题: mysql中的块block究竟是什么概念? [打印本页]

作者: oken    时间: 2008-8-15 19:27
标题: mysql中的块block究竟是什么概念?
最近在看mysql存储引擎源代码的时候,发现block这个单词出现的比较频繁。如:在Myisamdef.h里面有如下结构和定义:
typedef struct st_mi_block_info { /* Parameter to _mi_get_block_info */
  uchar header[MI_BLOCK_INFO_HEADER_LENGTH];
  ulong rec_len;
  ulong data_len;
  ulong block_len;
  ulong blob_len;
  my_off_t filepos;
  my_off_t next_filepos;
  my_off_t prev_filepos;
  uint second_read;
  uint offset;
} MI_BLOCK_INFO;
/* bits in return from _mi_get_block_info */
#define BLOCK_FIRST 1
#define BLOCK_LAST 2
#define BLOCK_DELETED 4
#define BLOCK_ERROR 8 /* Wrong data */
#define BLOCK_SYNC_ERROR 16 /* Right data at wrong place */
#define BLOCK_FATAL_ERROR 32 /* hardware-error */
  上面的每一个成员代表什么呢?block究竟是什么一个概念呢?它与数据存取有关吧?数据在硬盘上是如何存储的?
  谢谢各位!
作者: fire9    时间: 2008-8-18 09:24
数据是以块形式存入磁盘的。
作者: kider    时间: 2008-8-18 10:24
我想也是,同时Oracle也是以Block的形式存取。
作者: oken    时间: 2008-8-18 17:20
标题: 回复 2# fire9 的帖子
能详细点吗?每一块到底是多大?块与块之间有没有间隙?即使你是复制过来的资料我也要感谢你。




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2