mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-15 16:22:27 +00:00
A plain ADD COLUMN, a primary key on a nullable column, bucket sharding without a column, CREATE SCHEMA public and a three-part schema path are all rejected. Show forms that run, say what bucket sharding needs, and note that a new index is built in the background before it can be dropped.
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
---
|
|
title: "Index"
|
|
sidebarTitle: "Index"
|
|
description: "CREATE INDEX and DROP INDEX — one column, with the algorithm chosen by USING."
|
|
icon: bolt
|
|
keywords: ["create index", "drop index", "sql"]
|
|
---
|
|
|
|
<Badge color="red">Enterprise</Badge> [SQL runs on a deployment.](/sql)
|
|
|
|
## CREATE INDEX {#create}
|
|
|
|
```sql
|
|
CREATE INDEX ON documents USING btree (title)
|
|
CREATE INDEX text_search ON documents USING fts (text)
|
|
```
|
|
|
|
`USING` is required: it names the algorithm. The scalar algorithms are `btree`,
|
|
`bitmap` and `label_list`; `fts` builds a full-text index; and the vector
|
|
algorithms are `ivf_pq`, `ivf_rq`, `ivf_flat`, `ivf_hnsw_sq` and `ivf_hnsw_pq`,
|
|
where the deployment supports them. Index options go in a `WITH (...)` clause.
|
|
|
|
<Note>
|
|
On a deployment, SQL `CREATE INDEX` covers **one column**. A name between
|
|
`INDEX` and `ON` names the index, where the deployment's configuration allows
|
|
it; without one, the server names it after the column, as in `title_idx`. For a
|
|
multi-column index, use the SDK's [`create_index`](/indexing).
|
|
</Note>
|
|
|
|
<Note>
|
|
**Enterprise job type:** `create_ivf_pq`, `create_btree`, `create_fts`, and one
|
|
more per algorithm -- the type names which algorithm is building, not a
|
|
different feature. See [Build & Repair](/indexing/reindexing).
|
|
</Note>
|
|
|
|
## DROP INDEX {#drop}
|
|
|
|
```sql
|
|
DROP INDEX documents.title_idx
|
|
```
|
|
|
|
Takes the qualified `table.index` name. Find it with the SDK's
|
|
[`list_indices`](/indexing) if you created the index without
|
|
naming it yourself. A deployment builds the index in the background after
|
|
`CREATE INDEX` returns; until that build finishes, the index is not listed and
|
|
`DROP INDEX` reports it as not found.
|
|
|
|
## What to read next {#next}
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Indexing" icon="bolt" href="/indexing">
|
|
Choosing an index type from the SDK.
|
|
</Card>
|
|
<Card title="Build & Repair" icon="refresh" href="/indexing/reindexing">
|
|
Keeping an index current as data arrives.
|
|
</Card>
|
|
</CardGroup>
|