文件:
.frm文件存放表结构信息
.ARZ文件存放数据
引擎特点
1、记录数无限制
2、每个记录是定长的,不能删除,只能新增和replace
3、存储的记录是压缩的
4、索引查询是通过遍历,对比key找到记录
int ha_archive::index_read_idx(uchar *buf, uint index, const uchar *key,
uint key_len, enum ha_rkey_function find_flag)
{
int rc;
bool found= 0;
KEY *mkey= &table->s->key_info[index];
current_k_offset= mkey->key_part->offset;
current_key= key;
current_key_len= key_len;
DBUG_ENTER("ha_archive::index_read_idx");
rc= rnd_init(TRUE);
if (rc)
goto error;
while (!(get_row(&archive, buf)))
{
if (!memcmp(current_key, buf + current_k_offset, current_key_len))
{
found= 1;
break;
}
}
if (found)
{
/* notify handler that a record has been found */
table->status= 0;
DBUG_RETURN(0);
}
error:
DBUG_RETURN(rc ? rc : HA_ERR_END_OF_FILE);
}
适合场景:
1、日志记录
2、流水记录