1. HANA SQL 概述
(7) 标识符
我们在创建HANA数据库对象、定义变量时会涉及到命名的问题,这都涉及到数据库的标识符规则问题。在HANA中,标识符分为两种类型:一种是“简单标识符”,另一种是“特殊标识符”。
简单标识符:以字母或下划线开头,后续可以是字母、数字、下划线、# 或$。例如:“mytab123”、“_prd_123”、“$rowid$”等。
特殊标识符:以双引号括起来的标识符,可以由任意字符组成。例如: "123abc" 、 "!abc123" 、"AB$%CD"。
需要注意:以双引号扩起来的标识符,即特殊标识符,HANA是不会把他们转换成大写的。例如,对于表名标识符 customer,如果采用简单标识符方法,那么HANA会自动把他们转换为大写的形式,即 CUSTOMER;而如果加上双引号扩起来,那么会保持原来的大小写不会进行转换。
有关标识符的一些限制:
* 用户创建的Schema对象名(即数据对象名)不能以“_SYS_”开头
* 标识符的最大长度是127个字符
* 角色名和用户名不能使用双引号括起来的标识符
* 单引号括起来表示字符串
(8) 保留字
保留字是HANA数据库内部保留使用的标识符,不能用于用户定义的名称中。对于具体的HANA保留字列表,参见官方《HANA SQL AND SYSTEM VIEWS参考手》。
(9) 注释
在编写SQL语句时为了增加可读性、可维护性,我们通常会使用注释。在HANA中,注释有两种写法:
* 单行注释: 以"--"(即两个中横线)开头,后面是注释的内容。例如:
--执行下面的查询能够获得HANA数据库实例的限制信息
select * from m_system_limits
* 多行注释: 以/*和*/括起注释的内容。例如:
/*
HANA数据库有一些预置的用户,例如:
SYS, SYSTEM, _SYS_REPO, _SYS_STATISTICS等
访问系统视图"USERS"能获得所有用户
*/
select * from users
(10) HANA数据库的一些限制
HANA数据库有一些技术指标上的限制,可以通过查询M_SYSTEM_LIMITS系统视图或的这些信息。下面给出一些,我们有所了解即可。
* Database
Database size limit : 1TB(Row Store)
Number of locks: Unlimited for record locks,16384 for table locks
Number of sessions: 8192
* Schemas
Number of tables in a schema: 131072
Identifier length: 127 characters
* Tables and Views
Number of columns in a table: 1000
Number of columns in a view: 1000
Number of partitions of a column table: 1000
Number of rows in each table:
Limited by storage size Row Store: 1TB/sizeof(row),
Column Store : 2^31 * number of partitions 即2147483648 * 分区数
* Indexes and Constraints
Number of indexes for each table: 1023
Number of primary key columns in each table: 16
Number of columns in an index: 16
Number of columns in a UNIQUE constraint: 16
Size of sum of primary key, index, UNIQUE constraint: 16384