docs/en/sql-reference/System_limit.md
This topic describes the rules and limits that apply when you use StarRocks.
StarRocks uses the MySQL protocol for communication. You can connect to the StarRocks cluster via a MySQL client or JDBC. We recommend that you use a MySQL client whose version is 5.1 or later. Versions earlier than 5.1 do not support usernames that are longer than 16 characters.
Naming conventions for objects such as catalogs, databases, tables, views, asynchronous materialized views, partitions, columns, indexes, usernames, roles, repositories, resources, storage volumes, and pipes:
The FE configuration item enable_table_name_case_insensitive (supported from v4.0 onwards) allows you to control whether data directory names, database names, table names, view names, and asynchronous materialized view names are case-insensitive. Currently, table names are case-sensitive by default.
Naming conventions for labels: You can specify the label of a job when you load data. The label name can consist of digits (0-9), letters (a-z or A-Z), and underscores (_), and cannot exceed 128 characters in length. Label names can start with a letter or an underscore (_).
When you create a table, the key column cannot be of the FLOAT or DOUBLE type. You can use the DECIMAL type to represent decimals.
The maximum length of a VARCHAR value varies in different versions:
StarRocks supports only UTF-8 encoding, not GBK.
StarRocks does not support modifying the table types of an existing table. For example, you cannot change a Duplicate Key table to a Primary Key table. You must create a new table.
By default, a query can be nested with a maximum of 10,000 subqueries, which is controlled by the FE parameter expr_children_limit.