Skip to content

cloud: Polish availability and limitation of Vector Search #19494

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Nov 28, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Apply suggestions from code review
Co-authored-by: Grace Cai <[email protected]>
  • Loading branch information
breezewish and qiancai authored Nov 25, 2024
commit b66b8d0544acd4280b148e214661b59f9e16aec9
16 changes: 8 additions & 8 deletions tidb-cloud/vector-search-limitations.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@ This document describes the known limitations of TiDB Vector Search.
- Each [vector](/tidb-cloud/vector-search-data-types.md) supports up to 16383 dimensions.
- Vector data types cannot store `NaN`, `Infinity`, or `-Infinity` values.
- Vector data types cannot store double-precision floating-point numbers. If you insert or store double-precision floating-point numbers in vector columns, TiDB converts them to single-precision floating-point numbers.
- Vector columns cannot be used in primary keys, unique indexes or partition keys. To accelerate the vector search performance, use [Vector Search Index](/tidb-cloud/vector-search-index.md).
- Multiple vector columns in a table is allowed. However, there is [a limit of total number of columns in a table](/tidb-limitations.md#limitations-on-a-single-table).
- Currently TiDB does not support dropping a vector column with a vector index. To drop such column, drop the vector index first, then drop the vector column.
- Vector columns cannot be used in primary keys, unique indexes, or partition keys. To accelerate the vector search performance, use [Vector Search Index](/tidb-cloud/vector-search-index.md).
- A table can have multiple vector columns. However, there is [a limit on the total number of columns in a table](/tidb-limitations.md#limitations-on-a-single-table).
- Currently, TiDB does not support dropping a vector column with a vector index. To drop such a column, drop the vector index first, then drop the vector column.
- Currently TiDB does not support modifying a vector column to other data types such as `JSON` and `VARCHAR`.

## Vector index limitations

- Vector index is used for vector search. It cannot accelerate other queries like range queries or equality queries. Thus, it is not possible to create a vector index on a non-vector column, or on multiple vector columns.
- Multiple vector indexes in a table is allowed. However, there is [a limit of total number of indexes in a table](/tidb-limitations.md#limitations-on-a-single-table).
- Multiple vector indexes on the same column is allowed only if they use different distance functions.
- Currently only `VEC_COSINE_DISTANCE()` and `VEC_L2_DISTANCE()` are supported as the distance functions for vector indexes.
- Currently TiDB does not support dropping a vector column with a vector index. To drop such column, drop the vector index first, then drop the vector column.
- Currently TiDB does not support setting vector index as [invisible](/sql-statements/sql-statement-alter-index.md).
- A table can have multiple vector indexes. However, there is [a limit on the total number of indexes in a table](/tidb-limitations.md#limitations-on-a-single-table).
- Creating multiple vector indexes on the same column is allowed only if they use different distance functions.
- Currently, only `VEC_COSINE_DISTANCE()` and `VEC_L2_DISTANCE()` are supported as the distance functions for vector indexes.
- Currently, TiDB does not support dropping a vector column with a vector index. To drop such a column, drop the vector index first, then drop the vector column.
- Currently, TiDB does not support setting vector index as [invisible](/sql-statements/sql-statement-alter-index.md).

## Compatibility with TiDB tools

Expand Down
Loading