BTreeIndex

类: BTreeIndex<TKey>

定义于: packages/db/src/indexes/btree-index.ts:28

B+Tree 索引,用于排序数据和范围查询。此索引可维护排序项并提供高效的范围操作。

继承自

类型参数

TKey extends string | number = string | number

构造函数

new BTreeIndex()

ts
new BTreeIndex<TKey>(
   id, 
   expression, 
   name?, 
options?): BTreeIndex<TKey>
new BTreeIndex<TKey>(
   id, 
   expression, 
   name?, 
options?): BTreeIndex<TKey>

定义于: packages/db/src/indexes/btree-index.ts:48

参数

id

number

expression

BasicExpression

name?

string

options?

any

Returns (返回)

BTreeIndex<TKey>

Overrides

BaseIndex.constructor

属性

expression

ts
readonly expression: BasicExpression;
readonly expression: BasicExpression;

定义于: packages/db/src/indexes/base-index.ts:33

继承自

BaseIndex.expression


id

ts
readonly id: number;
readonly id: number;

定义于: packages/db/src/indexes/base-index.ts:31

继承自

BaseIndex.id


lastUpdated

ts
protected lastUpdated: Date;
protected lastUpdated: Date;

定义于: packages/db/src/indexes/base-index.ts:38

继承自

BaseIndex.lastUpdated


lookupCount

ts
protected lookupCount: number = 0;
protected lookupCount: number = 0;

定义于: packages/db/src/indexes/base-index.ts:36

继承自

BaseIndex.lookupCount


name?

ts
readonly optional name: string;
readonly optional name: string;

定义于: packages/db/src/indexes/base-index.ts:32

继承自

BaseIndex.name


支持的操作

ts
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;

定义于: packages/db/src/indexes/btree-index.ts:31

Overrides

BaseIndex.supportedOperations


总查找时间

ts
protected totalLookupTime: number = 0;
protected totalLookupTime: number = 0;

定义于: packages/db/src/indexes/base-index.ts:37

继承自

BaseIndex.totalLookupTime

访问器

indexedKeysSet

Get Signature

ts
get indexedKeysSet(): Set<TKey>
get indexedKeysSet(): Set<TKey>

定义于: packages/db/src/indexes/btree-index.ts:250

Returns (返回)

Set<TKey>


keyCount

Get Signature

ts
get keyCount(): number
get keyCount(): number

定义于: packages/db/src/indexes/btree-index.ts:188

获取索引键的数量

Returns (返回)

number

Overrides

BaseIndex.keyCount


orderedEntriesArray

Get Signature

ts
get orderedEntriesArray(): [any, Set<TKey>][]
get orderedEntriesArray(): [any, Set<TKey>][]

定义于: packages/db/src/indexes/btree-index.ts:254

Returns (返回)

[any, Set<TKey>][]


valueMapData

Get Signature

ts
get valueMapData(): Map<any, Set<TKey>>
get valueMapData(): Map<any, Set<TKey>>

定义于: packages/db/src/indexes/btree-index.ts:260

Returns (返回)

Map<any, Set<TKey>>

方法

add()

ts
add(key, item): void
add(key, item): void

定义于: packages/db/src/indexes/btree-index.ts:64

将值添加到索引

参数

key

TKey

item

any

Returns (返回)

void

Overrides

BaseIndex.add


build()

ts
build(entries): void
build(entries): void

定义于: packages/db/src/indexes/btree-index.ts:132

从条目集合构建索引

参数

entries

Iterable<[TKey, any]>

Returns (返回)

void

Overrides

BaseIndex.build


clear()

ts
clear(): void
clear(): void

定义于: packages/db/src/indexes/btree-index.ts:143

清除索引中的所有数据

Returns (返回)

void

Overrides

BaseIndex.clear


equalityLookup()

ts
equalityLookup(value): Set<TKey>
equalityLookup(value): Set<TKey>

定义于: packages/db/src/indexes/btree-index.ts:197

执行相等性查找

参数

value

any

Returns (返回)

Set<TKey>


evaluateIndexExpression()

ts
protected evaluateIndexExpression(item): any
protected evaluateIndexExpression(item): any

定义于: packages/db/src/indexes/base-index.ts:87

参数

item

any

Returns (返回)

any

继承自

BaseIndex.evaluateIndexExpression


getStats()

ts
getStats(): IndexStats
getStats(): IndexStats

定义于: packages/db/src/indexes/base-index.ts:74

Returns (返回)

IndexStats

继承自

BaseIndex.getStats


inArrayLookup()

ts
inArrayLookup(values): Set<TKey>
inArrayLookup(values): Set<TKey>

定义于: packages/db/src/indexes/btree-index.ts:236

执行 IN 数组查找

参数

values

any[]

Returns (返回)

Set<TKey>


initialize()

ts
protected initialize(_options?): void
protected initialize(_options?): void

定义于: packages/db/src/indexes/btree-index.ts:59

参数

_options?

BTreeIndexOptions

Returns (返回)

void

Overrides

BaseIndex.initialize


lookup()

ts
lookup(operation, value): Set<TKey>
lookup(operation, value): Set<TKey>

定义于: packages/db/src/indexes/btree-index.ts:153

执行查找操作

参数

operation

"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"

value

any

Returns (返回)

Set<TKey>

Overrides

BaseIndex.lookup


matchesField()

ts
matchesField(fieldPath): boolean
matchesField(fieldPath): boolean

定义于: packages/db/src/indexes/base-index.ts:66

参数

fieldPath

string[]

Returns (返回)

boolean

继承自

BaseIndex.matchesField


rangeQuery()

ts
rangeQuery(options): Set<TKey>
rangeQuery(options): Set<TKey>

定义于: packages/db/src/indexes/btree-index.ts:205

执行带有选项的范围查询。对于复合查询(如“WHERE a > 5 AND a < 10”)效率更高。

参数

options

RangeQueryOptions = {}

Returns (返回)

Set<TKey>


remove()

ts
remove(key, item): void
remove(key, item): void

定义于: packages/db/src/indexes/btree-index.ts:92

从索引中删除一个值

参数

key

TKey

item

any

Returns (返回)

void

Overrides

BaseIndex.remove


supports()

ts
supports(operation): boolean
supports(operation): boolean

定义于: packages/db/src/indexes/base-index.ts:62

参数

operation

"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"

Returns (返回)

boolean

继承自

BaseIndex.supports


trackLookup()

ts
protected trackLookup(startTime): void
protected trackLookup(startTime): void

定义于: packages/db/src/indexes/base-index.ts:92

参数

startTime

number

Returns (返回)

void

继承自

BaseIndex.trackLookup


update()

ts
update(
   key, 
   oldItem, 
   newItem): void
update(
   key, 
   oldItem, 
   newItem): void

定义于: packages/db/src/indexes/btree-index.ts:124

更新索引中的值

参数

key

TKey

oldItem

any

newItem

any

Returns (返回)

void

Overrides

BaseIndex.update


updateTimestamp()

ts
protected updateTimestamp(): void
protected updateTimestamp(): void

定义于: packages/db/src/indexes/base-index.ts:98

Returns (返回)

void

继承自

BaseIndex.updateTimestamp

我们的合作伙伴
Code Rabbit
Electric
Prisma
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。