This is a summary of current MyScale limitations. For many of these, there is a workaround or we're working on increasing the limits.
# Vector Indexes
# Index Management
MyScale supports unlimited vector dimensions, but memory constraints can limit the size of the index.
After inserting data, it may take some time before it becomes available for querying. You can monitor the status of the vector index by checking the system table
system.vector_indices. Refer to Checking the Status of Vector Indexes for more information.
Moreover, MyScale currently only allows adding one vector index per table, as adding more than one can result in undefined behavior.
# Index Types
MyScale currently supports seven index types, including MSTG, FLAT, HNSWFLAT, HNSWSQ, IVFFLAT, IVFPQ, and IVFSQ.
We are continuously working to expand this list for better service options.
For more information, see the Explanation of Vector Index Configuration Options.
# Object Naming Conventions
|Database name||Database names must start with a lowercase letter and can consist of letters, numbers, and underscores ( ||It is not allowed to use "system" as a database name as "system" is a reserved, built-in database.|
|Table Name||Table names must start with a letter or underscore ( ||Table names cannot contain quotation marks, exclamation marks (|
|Column name||Column names must start with a letter or underscore ( ||Column names cannot contain quotation marks, exclamation marks (|
# Vector Search
# GROUP BY
The current version of MyScale does not support both
GROUP BY in a query. Here's an example of incorrect usage:
select id, groupArray(distance(vector, [1.0, 1.0, 1.0])) from test_vector group by id;
You can use the
GROUP BY syntax after rewriting the
distance() section as a subquery.
select id, groupArray(dist) from (select id, distance(vector, [1.0, 1.0, 1.0]) as dist from test_vector order by dist limit 10) group by id;