0

是否有 SQL 数据库的实现允许从表中选择 n 个以下记录的块 - 就索引而言 - 从指定的索引开始,具有性能O(n + log tables_size)?但也允许在O(log tables_size). 如果是这样,该怎么做?

我可能是个梦想家,但是,MySQL 有可能吗?

4

1 回答 1

1

如果id是表上的主键,则以下内容将按获取记录所需的时间以及初始索引查找的顺序返回:

select t.*
from t
where id >= SOMEID
order by id
limit <n>;

添加记录由两部分组成。第一部分是查找可用空间,第二部分是插入索引。b-tree 索引应该需要O(log table_size)插入。如果页面已满并且您只在表格的末尾插入,那么找到正确的页面是恒定的时间。

换句话说,如果我正确理解您的问题,主键聚集索引完全符合您的要求。

于 2013-07-21T14:15:09.493 回答