对象管理

创建和管理库

本文主要介绍库的创建、删除、修改的基本SQL操作,以及库命名规范。

创建和管理库

SQL语句

库命名规范

结合具体业务进行库的命名,建议长度不要超过20个字符。

创建和管理表

本文介绍创建和管理数据表的基本 SQL 操作和规范。

创建和管理表

SQL 语句参阅:

表设计

  • ZnBase中,当您在建表时未显示定义主键时,ZnBase将自动添加一个隐藏列rowid作为主键。

  • 在进行ZnBase表设计过程中,有以下几点需要注意:

    尽量选择有意义的列作为主键;

    不推荐使用复杂的数据类型;

    需要JOIN的字段,数据类型建议保证绝对一致,避免隐式类型转换出现问题;

    出于为性能考虑,尽量避免存储超宽表。单行总数据大小不能超过64MB,数据长度过大的字段最好拆分到另外的表。

创建和管理索引

本文介绍创建和管理索引的基本 SQL 操作和规范。

创建和管理索引

SQL 语句参阅:

索引命名规范

  • 唯一索引:uk_[表名称简写]_[字段名简写]
  • 普通索引:idx_[表名称简写]_[字段名简写]
  • 多单词组成的 column_name,取尽可能代表意义的缩写。

索引设计

  • 单张表的索引数量及每个索引中的字段数没有限制,但注意索引过多会影响性能
  • 唯一索引建议由3个以下字段组成。
  • 尽量不要在频繁更新的列上创建索引
  • 选择区分度大的列建立索引,不在低基数列上建立索引。
  • 定期删除一些长时间未使用过的索引。
  • 新的SELECT, UPDATE, DELETE上线,先经过EXPLAIN确认索引的正确性。
  • 支持在WHERE条件索引列上使用函数,因为支持函数索引。
  • 最左前缀原则,使用联合索引时,从左向右匹配,比如索引 idx_c1_c2_c3 (c1,c2,c3),相当于创建了 (c1)、(c1,c2)、(c1,c2,c3) 三个索引,WHERE 条件包含上面三种情况的字段比较则可以用到索引,但像 WHERE c1=a and c3=c 只能用到 c1 列的索引,像 c2=b and c3=c 等情况就完全用不到这个索引。