kevinyao0901 3 тижднів тому
джерело
коміт
da5b6c04e5
1 змінених файлів з 22 додано та 0 видалено
  1. +22
    -0
      README.md

+ 22
- 0
README.md Переглянути файл

@ -39,6 +39,9 @@
- [六,问题与解决方案](#六问题与解决方案)
- [总结](#总结)
---
## 一,实验目的
@ -46,6 +49,9 @@
---
## 二,项目背景概述
#### 1. **背景与需求**
@ -78,6 +84,9 @@ name:Customer#000000002-k_2 : k_2
---
## 三,`LevelDB`二级索引设计思路
#### 1. **设计结构**
@ -209,6 +218,9 @@ lessCopy code 主数据库 (DBImpl)
------
## 四,具体实现
### 1. **DBImpl 类的设计**
@ -473,6 +485,10 @@ Status DBImpl::Delete(const WriteOptions& options, const Slice& key) {
这种设计确保了主数据库和二级索引数据库的一致性,即便在部分写入或删除操作失败的情况下,仍能通过回滚机制保证数据的完整性和原子性。
---
## 五,性能测试
### 1.测试流程
@ -553,6 +569,9 @@ Level Files Size(MB) Time(sec) Read(MB) Write(MB)
---
## 六,问题与解决方案
### 1. **问题:如何避免** `**indexDb_**` **的递归调用?**
@ -625,5 +644,8 @@ if (!s.ok()) {
---
## 总结
本实验通过在 `DBImpl` 中集成索引管理功能,实现了对二级索引的创建、查询和删除。二级索引数据存储在独立的 `indexDb_` 中,通过高效的键值映射提升了字段值查询的效率。

Завантаження…
Відмінити
Зберегти