103 lines
3.5 KiB
Markdown
103 lines
3.5 KiB
Markdown
CREATE INDEX
|
|
=================================
|
|
|
|
|
|
|
|
描述
|
|
-----------
|
|
|
|
该语句用来创建索引。索引是创建在表上的,对数据库表中一列或多列的值进行排序的一种结构。其作用主要在于提高查询的速度,降低数据库系统的性能开销。
|
|
|
|
格式
|
|
-----------
|
|
|
|
```javascript
|
|
CREATE [UNIQUE] INDEX indexname
|
|
ON tblname (index_col_name,...)
|
|
[index_type] [index_options]
|
|
index_type:
|
|
USING BTREE
|
|
|
|
index_options:
|
|
index_option [index_option...]
|
|
|
|
index_option:
|
|
GLOBAL | LOCAL
|
|
| COMMENT 'string'
|
|
| COMPRESSION [=] {NONE | LZ4_1.0 | LZO_1.0 | SNAPPY_1.0 | ZLIB_1.0}
|
|
| BLOCK_SIZE [=] size
|
|
| STORING(columname_list)
|
|
| VISIBLE | INVISIBLE
|
|
|
|
index_col_name:
|
|
colname [(length)] [ASC | DESC]
|
|
|
|
columname_list:
|
|
colname [, colname...]
|
|
```
|
|
|
|
|
|
|
|
参数解释
|
|
-------------
|
|
|
|
|
|
|
|
| **参数** | **描述** |
|
|
|-----------------|---------------------------------------------------------------------------------------------------------------------------|
|
|
| indexname | 指定要创建的索引名称。 |
|
|
| tblname | 指过索引所属的表名。 |
|
|
| index_col_name | 指定索引的列名,每个列名后都支持ASC(升序),不支持DESC(降序)。默认为升序。 建立索引的排序方式为:首先以index_col_name中第一个列的值排序;该列值相同的记录,按下一列名的值排序;以此类推。 |
|
|
| index_type | 索引类型,只支持USING BTREE,以B树为索引。 |
|
|
| UNIQUE | 指定为唯一索引。 |
|
|
| index_option | 指定索引选项,多个index_option以空格分隔。 |
|
|
| GLOBAL \| LOCAL | 指定该索引是全局索引或局部索引,默认是GLOBAL。 |
|
|
| COMMENT | 指定注释。 |
|
|
| COMPRESSION | 指定压缩算法。 |
|
|
| BLOCK_SIZE | 指定微块大小。 |
|
|
| STORING | 表示索引表中冗余存储某些列,以提高系统查询性能。 |
|
|
|
|
|
|
|
|
示例
|
|
-----------
|
|
|
|
1. 执行以下命令,创建表test。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
CREATE TABLE test (c1 int primary key, c2 VARCHAR(10));
|
|
```
|
|
|
|
|
|
|
|
2. 执行以下命令,创建表test的索引。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
CREATE INDEX test_index ON test (c1, c2 DESC);
|
|
```
|
|
|
|
|
|
|
|
3. 执行以下命令,查看表test的索引。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
SHOW INDEX FROM test;
|
|
```
|
|
|
|
|