본문으로 건너뛰기

클래스: BasicIndex<TKey>

정의 위치: packages/db/src/indexes/basic-index.ts:43

Map + 정렬된 Array를 사용하는 기본 인덱스입니다.

  • O(1) 동등성 조회를 위한 Map
  • 이진 검색을 통한 O(log n) 범위 쿼리를 위한 정렬된 Array
  • 정렬 순서를 유지하기 위한 O(n) 업데이트

BTreeIndex보다 단순하고 작으며 읽기 중심 워크로드에 적합합니다. 컬렉션이 크고 쓰기 중심인 워크로드에는 BTreeIndex를 사용합니다.

상속

타입 매개변수

TKey

TKey 확장 string | number = string | number

생성자

생성자

new BasicIndex<TKey>(
id,
expression,
name?,
options?): BasicIndex<TKey>;

정의 위치: packages/db/src/indexes/basic-index.ts:64

매개변수

id

number

expression

BasicExpression

name?

string

options?

any

반환값

BasicIndex&lt;TKey>

재정의된 메서드

BaseIndex.constructor

속성

compareOptions

protected compareOptions: CompareOptions;

정의 위치: packages/db/src/indexes/base-index.ts:102

상속받은 속성

BaseIndex.compareOptions


expression

readonly expression: BasicExpression;

정의 위치: packages/db/src/indexes/base-index.ts:96

상속받은 속성

BaseIndex.expression


hasCustomComparator

protected hasCustomComparator: boolean = false;

정의 위치: packages/db/src/indexes/base-index.ts:108

사용자 제공 비교 함수로 생성될 때 서브클래스에서 설정되며, 이 비교 함수의 정렬 순서는 WHERE 평가기의 관계 연산자와 일치하지 않을 수 있습니다.

상속받은 속성

BaseIndex.hasCustomComparator


id

readonly id: number;

정의 위치: packages/db/src/indexes/base-index.ts:94

상속받은 속성

BaseIndex.id


lastUpdated

protected lastUpdated: Date;

정의 위치: packages/db/src/indexes/base-index.ts:101

상속받은 속성

BaseIndex.lastUpdated


lookupCount

protected lookupCount: number = 0;

정의 위치: packages/db/src/indexes/base-index.ts:99

상속받은 속성

BaseIndex.lookupCount


name?

readonly optional name: string;

정의 위치: packages/db/src/indexes/base-index.ts:95

상속받은 속성

BaseIndex.name


supportedOperations

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

정의 위치: packages/db/src/indexes/basic-index.ts:46

재정의된 메서드

BaseIndex.supportedOperations


totalLookupTime

protected totalLookupTime: number = 0;

정의 위치: packages/db/src/indexes/base-index.ts:100

상속받은 속성

BaseIndex.totalLookupTime

접근자

indexedKeysSet

가져오기 시그니처

get indexedKeysSet(): Set<TKey>;

정의 위치: packages/db/src/indexes/basic-index.ts:519

반환값

Set&lt;TKey>

재정의된 메서드

BaseIndex.indexedKeysSet


keyCount

가져오기 시그니처

get keyCount(): number;

정의 위치: packages/db/src/indexes/basic-index.ts:273

인덱싱된 키의 수를 가져옵니다.

반환값

number

재정의된 메서드

BaseIndex.keyCount


orderedEntriesArray

가져오기 시그니처

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

정의 위치: packages/db/src/indexes/basic-index.ts:523

반환값

[any, Set&lt;TKey>][]

재정의된 메서드

BaseIndex.orderedEntriesArray


orderedEntriesArrayReversed

가져오기 시그니처

get orderedEntriesArrayReversed(): [any, Set<TKey>][];

정의 위치: packages/db/src/indexes/basic-index.ts:530

반환값

[any, Set&lt;TKey>][]

재정의된 메서드

BaseIndex.orderedEntriesArrayReversed


supportsRangeOptimization

가져오기 시그니처

get supportsRangeOptimization(): boolean;

정의 위치: packages/db/src/indexes/base-index.ts:163

이 인덱스의 범위 조회(gt/gte/lt/lte)가 일치하는 모든 키를 반환한다고 신뢰할 수 있는지 여부입니다. 범위 순회는 인덱스 순서에 의존하므로, 사용자 지정 비교 함수를 사용하는 인덱스에서는 안전하지 않습니다. 사용자 지정 비교 함수의 순서가 WHERE 평가기의 관계 연산자와 일치하지 않을 수 있기 때문입니다. 이 값이 false인 경우 호출자는 전체 스캔으로 대체해야 합니다.

반환값

boolean

상속받은 속성

BaseIndex.supportsRangeOptimization


valueMapData

가져오기 시그니처

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

정의 위치: packages/db/src/indexes/basic-index.ts:539

반환값

Map&lt;any, Set&lt;TKey>>

재정의된 메서드

BaseIndex.valueMapData

메서드

add()

add(key, item): void;

정의 위치: packages/db/src/indexes/basic-index.ts:83

인덱스에 값을 추가합니다.

매개변수

key

TKey

item

any

반환값

void

재정의된 메서드

BaseIndex.add


build()

build(entries): void;

정의 위치: packages/db/src/indexes/basic-index.ts:191

항목 컬렉션에서 인덱스를 빌드합니다.

매개변수

entries

Iterable&lt;[TKey, any]>

반환값

void

재정의된 메서드

BaseIndex.build


clear()

clear(): void;

정의 위치: packages/db/src/indexes/basic-index.ts:228

인덱스에서 모든 데이터를 지웁니다.

반환값

void

재정의된 메서드

BaseIndex.clear


equalityLookup()

equalityLookup(value): Set<TKey>;

정의 위치: packages/db/src/indexes/basic-index.ts:280

동등성 조회를 수행합니다 - O(1)

매개변수

value

any

반환값

Set&lt;TKey>

재정의된 메서드

BaseIndex.equalityLookup


evaluateIndexExpression()

protected evaluateIndexExpression(item): any;

정의 위치: packages/db/src/indexes/base-index.ts:214

매개변수

item

any

반환값

any

상속받은 속성

BaseIndex.evaluateIndexExpression


getStats()

getStats(): IndexStats;

정의 위치: packages/db/src/indexes/base-index.ts:202

반환값

IndexStats

상속받은 속성

BaseIndex.getStats


inArrayLookup()

inArrayLookup(values): Set<TKey>;

정의 위치: packages/db/src/indexes/basic-index.ts:504

IN 배열 조회를 수행합니다 - k는 values.length입니다 - O(k)

매개변수

values

any[]

반환값

Set&lt;TKey>

재정의된 메서드

BaseIndex.inArrayLookup


initialize()

protected initialize(_options?): void;

정의 위치: packages/db/src/indexes/basic-index.ts:78

매개변수

_options?

BasicIndexOptions

반환값

void

재정의된 메서드

BaseIndex.initialize


lookup()

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

정의 위치: packages/db/src/indexes/basic-index.ts:238

조회 작업을 수행합니다

매개변수

operation

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

value

any

반환값

Set&lt;TKey>

재정의된 메서드

BaseIndex.lookup


matchesCompareOptions()

matchesCompareOptions(compareOptions): boolean;

정의 위치: packages/db/src/indexes/base-index.ts:179

비교 옵션이 인덱스의 비교 옵션과 일치하는지 확인합니다. 인덱스는 방향이 다르면 반전할 수 있으므로 방향은 무시됩니다.

매개변수

compareOptions

CompareOptions

반환값

boolean

상속받은 속성

BaseIndex.matchesCompareOptions


matchesDirection()

matchesDirection(direction): boolean;

정의 위치: packages/db/src/indexes/base-index.ts:198

인덱스가 제공된 방향과 일치하는지 확인합니다.

매개변수

direction

OrderByDirection

반환값

boolean

상속받은 속성

BaseIndex.matchesDirection


matchesField()

matchesField(fieldPath): boolean;

정의 위치: packages/db/src/indexes/base-index.ts:167

매개변수

fieldPath

string[]

반환값

boolean

상속받은 속성

BaseIndex.matchesField


rangeQuery()

rangeQuery(options): Set<TKey>;

정의 위치: packages/db/src/indexes/basic-index.ts:288

이진 검색을 사용하여 범위 쿼리를 수행합니다 - O(log n + m)

매개변수

options

RangeQueryOptions = {}

반환값

Set&lt;TKey>

재정의된 메서드

BaseIndex.rangeQuery


rangeQueryReversed()

rangeQueryReversed(options): Set<TKey>;

정의 위치: packages/db/src/indexes/basic-index.ts:349

반전된 범위 쿼리를 수행합니다

매개변수

options

RangeQueryOptions = {}

반환값

Set&lt;TKey>

재정의된 메서드

BaseIndex.rangeQueryReversed


remove()

remove(key, item): void;

정의 위치: packages/db/src/indexes/basic-index.ts:124

인덱스에서 값을 제거합니다

매개변수

key

TKey

item

any

반환값

void

재정의된 메서드

BaseIndex.remove


supports()

supports(operation): boolean;

정의 위치: packages/db/src/indexes/base-index.ts:159

매개변수

operation

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

반환값

boolean

상속받은 속성

BaseIndex.supports


take()

take(
n,
from?,
filterFn?): TKey[];

정의 위치: packages/db/src/indexes/basic-index.ts:374

정렬된 순서로 다음 n개 항목을 반환합니다

매개변수

n

number

from?

any

filterFn?

(key) => boolean

반환값

TKey[]

재정의된 메서드

BaseIndex.take


takeFromStart()

takeFromStart(n, filterFn?): TKey[];

정의 위치: packages/db/src/indexes/basic-index.ts:459

정렬된 순서로 처음 n개 항목을 반환합니다(시작부터)

매개변수

n

number

filterFn?

(key) => boolean

반환값

TKey[]

재정의된 메서드

BaseIndex.takeFromStart


takeReversed()

takeReversed(
n,
from?,
filterFn?): TKey[];

정의 위치: packages/db/src/indexes/basic-index.ts:416

역순으로 정렬된 다음 n개 항목을 반환합니다

매개변수

n

number

from?

any

filterFn?

(key) => boolean

반환값

TKey[]

재정의된 메서드

BaseIndex.takeReversed


takeReversedFromEnd()

takeReversedFromEnd(n, filterFn?): TKey[];

정의 위치: packages/db/src/indexes/basic-index.ts:478

역순으로 정렬된 처음 n개 항목을 반환합니다(끝부터)

매개변수

n

number

filterFn?

(key) => boolean

반환값

TKey[]

재정의된 메서드

BaseIndex.takeReversedFromEnd


trackLookup()

protected trackLookup(startTime): void;

정의 위치: packages/db/src/indexes/base-index.ts:220

매개변수

startTime

number

반환값

void

상속받은 속성

BaseIndex.trackLookup


update()

update(
key,
oldItem,
newItem): void;

정의 위치: packages/db/src/indexes/basic-index.ts:162

인덱스의 값을 업데이트합니다

매개변수

key

TKey

oldItem

any

newItem

any

반환값

void

재정의된 메서드

BaseIndex.update


updateTimestamp()

protected updateTimestamp(): void;

정의 위치: packages/db/src/indexes/base-index.ts:226

반환값

void

상속받은 속성

BaseIndex.updateTimestamp