You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2021/06/16 03:52:20 UTC

[iotdb] branch master updated: Enable sub headers in docs (#3307)

This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 4958b36  Enable sub headers in docs (#3307)
4958b36 is described below

commit 4958b360419fabcb0e896cbdb5c3ba91c140646b
Author: J.J. Liu <li...@gmail.com>
AuthorDate: Wed Jun 16 11:52:01 2021 +0800

    Enable sub headers in docs (#3307)
---
 .../DDL-Data-Definition-Language.md                | 42 +++++++++++-----------
 .../DML-Data-Manipulation-Language.md              |  3 +-
 .../IoTDB-SQL-Language/Maintenance-Command.md      | 17 ++++-----
 .../DDL-Data-Definition-Language.md                | 42 +++++++++++-----------
 .../DML-Data-Manipulation-Language.md              | 42 +++++++++++-----------
 .../IoTDB-SQL-Language/Maintenance-Command.md      | 16 ++++-----
 site/src/main/.vuepress/config.js                  |  2 ++
 7 files changed, 80 insertions(+), 84 deletions(-)

diff --git a/docs/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md b/docs/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md
index beaf865..5f9f712 100644
--- a/docs/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md
+++ b/docs/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md
@@ -19,12 +19,10 @@
 
 -->
 
-# IoTDB-SQL Language
+# Data Definition Language (DDL)
 
-## Data Definition Language (DDL) 
-
-### Stroage Group Management
-#### Create Storage Group
+## Stroage Group Management
+### Create Storage Group
 
 According to the storage model we can set up the corresponding storage group. The SQL statements for creating storage groups are as follows:
 
@@ -45,7 +43,7 @@ The LayerName of storage group can only be characters, numbers, underscores and
  
 Besides, if deploy on Windows system, the LayerName is case-insensitive, which means it's not allowed to set storage groups `root.ln` and `root.LN` at the same time.
 
-#### Show Storage Group
+### Show Storage Group
 
 After creating the storage group, we can use the [SHOW STORAGE GROUP](../Appendix/SQL-Reference.md) statement and [SHOW STORAGE GROUP \<PrefixPath>](../Appendix/SQL-Reference.md) to view the storage groups. The SQL statements are as follows:
 
@@ -67,7 +65,7 @@ Total line number = 2
 It costs 0.060s
 ```
 
-#### Delete Storage Group
+### Delete Storage Group
 
 User can use the `DELETE STORAGE GROUP <PrefixPath>` statement to delete all storage groups under the prefixPath. Please note the data in the storage group will also be deleted. 
 
@@ -77,8 +75,8 @@ IoTDB > DELETE STORAGE GROUP root.sgcc
 // delete all data, all timeseries and all storage groups
 IoTDB > DELETE STORAGE GROUP root.*
 ```
-### Timeseries Management
-#### Create Timeseries
+## Timeseries Management
+### Create Timeseries
 
 According to the storage model selected before, we can create corresponding timeseries in the two storage groups respectively. The SQL statements for creating timeseries are as follows:
 
@@ -100,7 +98,7 @@ error: encoding TS_2DIFF does not support BOOLEAN
 
 Please refer to [Encoding](../Data-Concept/Encoding.md) for correspondence between data type and encoding.
 
-#### Delete Timeseries
+### Delete Timeseries
 
 To delete the timeseries we created before, we are able to use `DELETE TimeSeries <PrefixPath>` statement.
 
@@ -125,7 +123,7 @@ IoTDB > delete timeseries root.sg.d1.s1
 error: Not support deleting part of aligned timeseies!
 ```
 
-#### Show Timeseries
+### Show Timeseries
 
 * SHOW LATEST? TIMESERIES prefixPath? showWhereClause? limitClause?
 
@@ -221,7 +219,7 @@ It costs 0.004s
 It is worth noting that when the queried path does not exist, the system will return no timeseries.  
 
 
-#### Count Timeseries
+### Count Timeseries
 
 IoTDB is able to use `COUNT TIMESERIES <Path>` to count the number of timeseries in the path. SQL statements are as follows:
 
@@ -297,7 +295,7 @@ It costs 0.002s
 
 > Note: The path of timeseries is just a filter condition, which has no relationship with the definition of level.
 
-#### Tag and attribute management
+### Tag and Attribute Management
 
 We can also add an alias, extra tag and attribute information while creating one timeseries.
 The SQL statements for creating timeseries with extra tag and attribute information are extended as follows:
@@ -342,8 +340,8 @@ ALTER timeseries root.turbine.d1.s1 ADD ATTRIBUTES attr3=v3, attr4=v4
 ALTER timeseries root.turbine.d1.s1 UPSERT ALIAS=newAlias TAGS(tag3=v3, tag4=v4) ATTRIBUTES(attr3=v3, attr4=v4)
 ```
 
-### Node Management
-#### Show Child Paths
+## Node Management
+### Show Child Paths
 
 ```
 SHOW CHILD PATHS prefixPath
@@ -368,7 +366,7 @@ It costs 0.002s
 
 > get all paths in form of root.xx.xx.xx:show child paths root.xx.xx
 
-#### Show Child Nodes
+### Show Child Nodes
 
 ```
 SHOW CHILD NODES prefixPath
@@ -399,7 +397,7 @@ Example:
 +------------+
 ```
 
-#### Count Nodes
+### Count Nodes
 
 IoTDB is able to use `COUNT NODES <PrefixPath> LEVEL=<INTEGER>` to count the number of nodes at the given level in current Metadata Tree. This could be used to query the number of devices. The usage are as follows:
 
@@ -440,7 +438,7 @@ It costs 0.002s
 > Note: The path of timeseries is just a filter condition, which has no relationship with the definition of level.
 `PrefixPath` could contains `*`, but all nodes after `*` would be ignored. Only the prefix path before `*` is valid.
 
-#### Show Devices
+### Show Devices
 
 * SHOW DEVICES prefixPath? (WITH STORAGE GROUP)? limitClause? #showDevices
 
@@ -517,11 +515,11 @@ Total line number = 2
 It costs 0.001s
 ```
 
-### TTL
+## TTL
 
 IoTDB supports storage-level TTL settings, which means it is able to delete old data automatically and periodically. The benefit of using TTL is that hopefully you can control the total disk space usage and prevent the machine from running out of disks. Moreover, the query performance may downgrade as the total number of files goes up and the memory usage also increase as there are more files. Timely removing such files helps to keep at a high query performance level and reduce memory usage.
 
-#### Set TTL
+### Set TTL
 
 The SQL Statement for setting TTL is as follow:
 
@@ -531,7 +529,7 @@ IoTDB> set ttl to root.ln 3600000
 
 This example means that for data in `root.ln`, only that of the latest 1 hour will remain, the older one is removed or made invisible.
 
-#### Unset TTL
+### Unset TTL
 
 To unset TTL, we can use follwing SQL statement:
 
@@ -541,7 +539,7 @@ IoTDB> unset ttl to root.ln
 
 After unset TTL, all data will be accepted in `root.ln`
 
-#### Show TTL
+### Show TTL
 
 To Show TTL, we can use following SQL statement:
 
diff --git a/docs/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md b/docs/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md
index bc0b9d5..c9aa8ff 100644
--- a/docs/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md
+++ b/docs/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md
@@ -1504,7 +1504,6 @@ The SQL statement will not be executed and the corresponding error prompt is giv
 Msg: 411: Meet error in query process: The value of SOFFSET (2) is equal to or exceeds the number of sequences (2) that can actually be returned.
 ```
 
-
 ## DELETE
 
 Users can delete data that meet the deletion condition in the specified timeseries by using the [DELETE statement](../Appendix/SQL-Reference.md). When deleting data, users can select one or more timeseries paths, prefix paths, or paths with star  to delete data within a certain time interval.
@@ -1570,7 +1569,7 @@ IoTDB> delete from root.ln.wf03.wt02.status where time < now()
 Msg: TimeSeries does not exist and its data cannot be deleted
 ```
 
-## Delete Time Partition (experimental)
+### Delete Time Partition (experimental)
 You may delete all data in a time partition of a storage group using the following grammar:
 
 ```
diff --git a/docs/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md b/docs/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md
index 6df1c17..80e6524 100644
--- a/docs/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md
+++ b/docs/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md
@@ -18,8 +18,9 @@
     under the License.
 
 -->
-## Maintenance Command
-### FLUSH
+
+# Maintenance Command
+## FLUSH
 
 Persist all the data points in the memory table of the storage group to the disk, and seal the data file.
 
@@ -29,7 +30,7 @@ IoTDB> FLUSH root.ln
 IoTDB> FLUSH root.sg1,root.sg2
 ```
 
-### MERGE
+## MERGE
 
 Merge sequence and unsequence data. Currently IoTDB supports the following two types of SQL to manually trigger the merge process of data files:
 
@@ -41,7 +42,7 @@ IoTDB> MERGE
 IoTDB> FULL MERGE
 ```
 
-### CLEAR CACHE
+## CLEAR CACHE
 
 Clear the cache of chunk, chunk metadata and timeseries metadata to release the memory footprint.
 
@@ -49,7 +50,7 @@ Clear the cache of chunk, chunk metadata and timeseries metadata to release the
 IoTDB> CLEAR CACHE
 ```
 
-### SCHEMA SNAPSHOT
+## SCHEMA SNAPSHOT
 
 To speed up restarting of IoTDB, users can create snapshot of schema and avoid recovering schema from mlog file.
 
@@ -58,12 +59,12 @@ IoTDB> CREATE SNAPSHOT FOR SCHEMA
 ```
 
 
-### Kill Query
+## Kill Query
 
 When using IoTDB, you may encounter the following situations: you have entered a query statement, but can not get the result for a long time, as this query contains too much data or some other reasons, and have to wait until the query ends.
 Since version 0.12, IoTDB has provided two solutions for queries with long execution time: query timeout and query abort.
 
-#### Query timeout
+### Query timeout
 
 For queries that take too long to execute, IoTDB will forcibly interrupt the query and throw a timeout exception, as shown in the figure: 
 
@@ -83,7 +84,7 @@ E.g. session.executeQueryStatement(String sql, long timeout)
 
 If the timeout parameter is not configured or with value 0, the default timeout time will be used.
 
-#### Query abort
+### Query abort
 
 In addition to waiting for the query to time out passively, IoTDB also supports stopping the query actively:
 
diff --git a/docs/zh/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md b/docs/zh/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md
index 76a1d3c..941567c 100644
--- a/docs/zh/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md
+++ b/docs/zh/UserGuide/IoTDB-SQL-Language/DDL-Data-Definition-Language.md
@@ -19,13 +19,11 @@
 
 -->
 
-# IoTDB-SQL 语言
+# 数据定义语言(DDL)
 
-## 数据定义语言(DDL)
+## 存储组管理
 
-### 存储组管理
-
-#### 创建存储组
+### 创建存储组
 
 我们可以根据存储模型建立相应的存储组。创建存储组的SQL语句如下所示:
 
@@ -46,7 +44,7 @@ Msg: 300: root.ln has already been set to storage group.
 
 还需注意,如果在Windows系统上部署,存储组名是大小写不敏感的。例如同时创建`root.ln` 和 `root.LN` 是不被允许的。
 
-#### 查看存储组
+### 查看存储组
 
 在存储组创建后,我们可以使用[SHOW STORAGE GROUP](../Appendix/SQL-Reference.md)语句和[SHOW STORAGE GROUP \<PrefixPath>](../Appendix/SQL-Reference.md)来查看存储组,SQL语句如下所示:
 
@@ -68,7 +66,7 @@ Total line number = 2
 It costs 0.060s
 ```
 
-#### 删除存储组
+### 删除存储组
 
 用户可以使用`DELETE STORAGE GROUP <PrefixPath>`语句删除该前缀路径下所有的存储组。在删除的过程中,需要注意的是存储组的数据也会被删除。
 
@@ -78,9 +76,9 @@ IoTDB > DELETE STORAGE GROUP root.sgcc
 // 删除所有数据,时间序列以及存储组
 IoTDB > DELETE STORAGE GROUP root.*
 ```
-### 时间序列管理
+## 时间序列管理
 
-#### 创建时间序列
+### 创建时间序列
 
 根据建立的数据模型,我们可以分别在两个存储组中创建相应的时间序列。创建时间序列的SQL语句如下所示:
 
@@ -101,7 +99,7 @@ error: encoding TS_2DIFF does not support BOOLEAN
 
 详细的数据类型与编码方式的对应列表请参见[编码方式](../Data-Concept/Encoding.md)。
 
-#### 删除时间序列
+### 删除时间序列
 
 我们可以使用`DELETE TimeSeries <PrefixPath>`语句来删除我们之前创建的时间序列。SQL语句如下所示:
 
@@ -125,7 +123,7 @@ error: Not support deleting part of aligned timeseies!
 ```
 
 
-#### 查看时间序列
+### 查看时间序列
 
 * SHOW LATEST? TIMESERIES prefixPath? showWhereClause? limitClause?
 
@@ -220,7 +218,7 @@ It costs 0.004s
   
 需要注意的是,当查询路径不存在时,系统会返回0条时间序列。
 
-#### 统计时间序列总数
+### 统计时间序列总数
 
 IoTDB支持使用`COUNT TIMESERIES<Path>`来统计一条路径中的时间序列个数。SQL语句如下所示:
 ```
@@ -295,7 +293,7 @@ It costs 0.001s
 
 > 注意:时间序列的路径只是过滤条件,与level的定义无关。
 
-#### 标签点管理
+### 标签点管理
 
 我们可以在创建时间序列的时候,为它添加别名和额外的标签和属性信息。
 所用到的扩展的创建时间序列的SQL语句如下所示:
@@ -341,9 +339,9 @@ ALTER timeseries root.turbine.d1.s1 ADD ATTRIBUTES attr3=v3, attr4=v4
 ALTER timeseries root.turbine.d1.s1 UPSERT ALIAS=newAlias TAGS(tag2=newV2, tag3=v3) ATTRIBUTES(attr3=v3, attr4=v4)
 ```
 
-### 节点管理
+## 节点管理
 
-#### 查看子路径
+### 查看子路径
 
 ```
 SHOW CHILD PATHS prefixPath
@@ -375,7 +373,7 @@ SHOW CHILD PATHS prefixPath
 +---------------+
 ```
 
-#### 查看子节点
+### 查看子节点
 
 ```
 SHOW CHILD NODES prefixPath
@@ -406,7 +404,7 @@ SHOW CHILD NODES prefixPath
 +------------+
 ```
 
-#### 统计节点数
+### 统计节点数
 
 IoTDB支持使用`COUNT NODES <PrefixPath> LEVEL=<INTEGER>`来统计当前Metadata树下指定层级的节点个数,这条语句可以用来统计设备数。例如:
 
@@ -448,7 +446,7 @@ It costs 0.002s
 其中`PrefixPath`可以包含`*`,但是`*`及其后的所有节点将被忽略,仅在`*`前的前缀路径有效。
 
 
-#### 查看设备
+### 查看设备
 
 * SHOW DEVICES prefixPath? (WITH STORAGE GROUP)? limitClause? #showDevices
 
@@ -524,13 +522,13 @@ Total line number = 2
 It costs 0.001s
 ```
 
-### 数据存活时间(TTL)
+## 数据存活时间(TTL)
 
 IoTDB支持对存储组级别设置数据存活时间(TTL),这使得IoTDB可以定期、自动地删除一定时间之前的数据。合理使用TTL
 可以帮助您控制IoTDB占用的总磁盘空间以避免出现磁盘写满等异常。并且,随着文件数量的增多,查询性能往往随之下降,
 内存占用也会有所提高。及时地删除一些较老的文件有助于使查询性能维持在一个较高的水平和减少内存资源的占用。
 
-#### 设置 TTL
+### 设置 TTL
 
 设置TTL的SQL语句如下所示:
 ```
@@ -538,7 +536,7 @@ IoTDB> set ttl to root.ln 3600000
 ```
 这个例子表示在`root.ln`存储组中,只有最近一个小时的数据将会保存,旧数据会被移除或不可见。
 
-#### 取消 TTL
+### 取消 TTL
 
 取消TTL的SQL语句如下所示:
 
@@ -548,7 +546,7 @@ IoTDB> unset ttl to root.ln
 
 取消设置TTL后,存储组`root.ln`中所有的数据都会被保存。
 
-#### 显示 TTL
+### 显示 TTL
 
 显示TTL的SQL语句如下所示:
 
diff --git a/docs/zh/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md b/docs/zh/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md
index 41b75aa..e24d511 100644
--- a/docs/zh/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md
+++ b/docs/zh/UserGuide/IoTDB-SQL-Language/DML-Data-Manipulation-Language.md
@@ -19,15 +19,15 @@
 
 -->
 
-## 数据操作语言(DML)
+# 数据操作语言(DML)
 
-### 数据写入
+## 数据写入
 
 IoTDB为用户提供多种插入实时数据的方式,例如在[Cli/Shell工具](../CLI/Command-Line-Interface.md)中直接输入插入数据的INSERT语句,或使用Java API(标准[Java JDBC](../API/Programming-JDBC.md)接口)单条或批量执行插入数据的INSERT语句。
 
 本节主要为您介绍实时数据接入的INSERT语句在场景中的实际使用示例,有关INSERT SQL语句的详细语法请参见本文[INSERT语句](../Appendix/SQL-Reference.md)节。
 
-#### 使用INSERT语句
+### 使用INSERT语句
 
 使用INSERT语句可以向指定的已经创建的一条或多条时间序列中插入数据。对于每一条数据,均由一个时间戳类型的时间戳和一个数值或布尔值、字符串类型的传感器采集值组成。
 
@@ -77,9 +77,9 @@ Total line number = 4
 It costs 0.170s
 ```
 
-### 数据查询
+## 数据查询
 
-#### 时间条件过滤查询
+### 时间条件过滤查询
 
 本节主要介绍时间切片查询的相关示例,主要使用的是[IoTDB SELECT语句](../Appendix/SQL-Reference.md)。同时,您也可以使用[Java JDBC](../API/Programming-JDBC.md)标准接口来执行相关的查询语句。
 
@@ -211,7 +211,7 @@ It costs 0.014s
 ```
 
 
-#### 其他结果对齐方式
+### 其他结果对齐方式
 
  * 根据时间降序返回
 IoTDB 在 0.11 版本开始支持 'order by time' 语句, 用于对结果按照时间进行降序展示。例如,SQL语句为:
@@ -290,7 +290,7 @@ It costs 0.018s
 
 更多语法请参照[SQL REFERENCE](../Appendix/SQL-Reference.md)。
 
-#### 结果空值过滤
+### 结果空值过滤
 
 * 如果结果集中,任意一列为null,则过滤掉该行;即获得的结果集不包含任何空值
 
@@ -305,7 +305,7 @@ select * from root.ln.* where time <= 2017-11-01T00:01:00 WITHOUT NULL ALL
 ```
 
 
-#### 聚合函数
+### 聚合函数
 
 本章节主要介绍聚合查询的相关示例,
 主要使用的是IoTDB SELECT语句的聚合查询函数。
@@ -329,7 +329,7 @@ It costs 0.016s
 ```
 
 
-#### 时间区间分组聚合
+### 时间区间分组聚合
 
 本章节主要介绍时间区间分组聚合查询的相关示例,
 主要使用的是IoTDB SELECT语句的[GROUP BY子句](../Appendix/SQL-Reference.md),
@@ -544,7 +544,7 @@ Total line number = 7
 It costs 0.004s
 ```
 
-#### 路径层级分组聚合
+### 路径层级分组聚合
 
 在时间序列层级结构中,分层聚合查询用于对某一层级进行聚合查询。
 这里使用LEVEL来统计指定层级下的聚合范围,该语句约定root为第0层序列,若统计"root.ln"下所有序列则需指定level为1。
@@ -604,7 +604,7 @@ It costs 0.013s
 
 对于sum, avg, min_value, max_value, extreme五种聚合函数,需保证所有聚合的时间序列数据类型相同。其他聚合函数没有此限制。
 
-#### 时间区间和路径层级分组聚合查询
+### 时间区间和路径层级分组聚合查询
 
 除此之外,还可以通过定义LEVEL来统计指定层级下的数据点个数。
 
@@ -655,7 +655,7 @@ select count(status) from root.ln.wf01.wt01 group by ([0,20),2ms,3ms), level=1;
 Total line number = 7
 It costs 0.004s
 ```
-#### 最新点查询
+### 最新点查询
 
 SQL语法:
 
@@ -703,7 +703,7 @@ It costs 0.002s
 ```
 
 
-#### 空值填充
+### 空值填充
 
 在IoTDB的实际使用中,当进行时间序列的查询操作时,可能会出现在某些时间点值为null的情况,这会妨碍用户进行进一步的分析。 为了更好地反映数据更改的程度,用户希望可以自动填充缺失值。 因此,IoTDB系统引入了自动填充功能。
 
@@ -924,7 +924,7 @@ It costs 0.006s
 
 使用 PREVIOUSUNTILLAST 将不会填充2017-11-07T23:59:00以后的值。
 
-#### LIMIT & OFFSET
+### LIMIT & OFFSET
 
 IoTDB提供 [LIMIT/SLIMIT](../Appendix/SQL-Reference.md) 子句和 [OFFSET/SOFFSET](../Appendix/SQL-Reference.md) 子句,以使用户可以更好地控制查询结果。使用LIMIT和SLIMIT子句可让用户控制查询结果的行数和列数,
 并且使用OFFSET和SOFSET子句允许用户设置结果显示的起始位置。
@@ -1212,7 +1212,7 @@ Total line number = 10
 It costs 0.009s
 ```
 
-#### 别名
+### 别名
 
 由于 IoTDB 独特的数据模型,在每个传感器前都附带有设备等诸多额外信息。有时,我们只针对某个具体设备查询,而这些前缀信息频繁显示造成了冗余,影响了结果集的显示与分析。这时我们可以使用 IoTDB 提供的 AS 函数,将查询中出现的时间序列给定一个别名。
 
@@ -1229,7 +1229,7 @@ select s1 as temperature, s2 as speed from root.ln.wf01.wt01;
 | ...  | ...         | ...   |
 
 
-#### 内置函数
+### 内置函数
 
 时间序列生成函数可接受若干原始时间序列作为输入,产生一列时间序列输出。与聚合函数不同的是,时间序列生成函数的结果集带有时间戳列。
 
@@ -1493,15 +1493,13 @@ Empty set.
 It costs 0.005s
 ```
 
-
-
-### 数据删除
+## 数据删除
 
 用户使用[DELETE语句](../Appendix/SQL-Reference.md)可以删除指定的时间序列中符合时间删除条件的数据。在删除数据时,用户可以选择需要删除的一个或多个时间序列、时间序列的前缀、时间序列带\*路径对某一个时间区间内的数据进行删除。
 
 在JAVA编程环境中,您可以使用JDBC API单条或批量执行DELETE语句。
 
-#### 单传感器时间序列值删除
+### 单传感器时间序列值删除
 
 以测控ln集团为例,存在这样的使用场景:
 
@@ -1539,7 +1537,7 @@ expressions like : time > XXX, time <= XXX, or two atomic expressions connected
 delete from root.ln.wf02.status
 ```
 
-#### 多传感器时间序列值删除    
+### 多传感器时间序列值删除    
 
 当ln集团wf02子站的wt02设备在2017-11-01 16:26:00之前的供电状态和设备硬件版本都需要删除,此时可以使用含义更广的[前缀路径或带`*`路径](../Data-Concept/Data-Model-and-Terminology.md)进行删除操作,进行此操作的SQL语句为:
 
@@ -1560,7 +1558,7 @@ IoTDB> delete from root.ln.wf03.wt02.status where time < now()
 Msg: TimeSeries does not exist and its data cannot be deleted
 ```
 
-#### 删除时间分区 (实验性功能)
+### 删除时间分区 (实验性功能)
 您可以通过如下语句来删除某一个存储组下的指定时间分区:
 
 ```
diff --git a/docs/zh/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md b/docs/zh/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md
index cb6e6f9..21c8d73 100644
--- a/docs/zh/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md
+++ b/docs/zh/UserGuide/IoTDB-SQL-Language/Maintenance-Command.md
@@ -18,9 +18,9 @@
     under the License.
 
 -->
-## 运维命令
+# 运维命令
 
-### FLUSH
+## FLUSH
 
 将指定存储组的内存缓存区Memory Table的数据持久化到磁盘上,并将数据文件封口。
 
@@ -30,7 +30,7 @@ IoTDB> FLUSH root.ln
 IoTDB> FLUSH root.sg1,root.sg2
 ```
 
-### MERGE
+## MERGE
 
 合并顺序和乱序数据。当前IoTDB支持使用如下两种SQL手动触发数据文件的合并:
 
@@ -42,27 +42,27 @@ IoTDB> MERGE
 IoTDB> FULL MERGE
 ```
 
-### CLEAR CACHE
+## CLEAR CACHE
 
 手动清除chunk, chunk metadata和timeseries metadata的缓存,在内存资源紧张时,可以通过此命令,释放查询时缓存所占的内存空间。
 ```
 IoTDB> CLEAR CACHE
 ```
 
-### SCHEMA SNAPSHOT
+## SCHEMA SNAPSHOT
 
 为了加快 IoTDB 重启速度,用户可以手动触发创建 schema 的快照,从而避免服务器从 mlog 文件中恢复。
 ```
 IoTDB> CREATE SNAPSHOT FOR SCHEMA
 ```
 
-### 中止查询
+## 中止查询
 
 当使用 IoTDB 时,您可能会遇到以下情形:输入了一个查询,但是由于其包含的数据量过大或是其他原因,导致长时间无法返回结果,但是迫于生产环境无法中止该命令,只能被迫等待。
 
 从 0.12 版本开始,IoTDB 对执行时间过长的查询给出了两种解决方案:查询超时和查询中止。
 
-#### 查询超时
+### 查询超时
 
 对于执行时间过长的查询,IoTDB 将强行中断该查询,并抛出超时异常,如下所示:
 
@@ -82,7 +82,7 @@ E.g. session.executeQueryStatement(String sql, long timeout)
 
 如果不配置超时时间参数或将超时时间设置为 0,将使用服务器端默认的超时时间.
 
-#### 查询中止
+### 查询中止
 
 除了被动地等待查询超时外,IoTDB 还支持主动地中止查询,命令为:
 
diff --git a/site/src/main/.vuepress/config.js b/site/src/main/.vuepress/config.js
index 424a521..9bff6c5 100644
--- a/site/src/main/.vuepress/config.js
+++ b/site/src/main/.vuepress/config.js
@@ -679,6 +679,7 @@ var config = {
 					},
 					{
 						title: 'IoTDB-SQL Language',
+						sidebarDepth: 1,
 						children: [
 							['IoTDB-SQL-Language/DDL-Data-Definition-Language','DDL (Data Definition Language)'],
 							['IoTDB-SQL-Language/DML-Data-Manipulation-Language','DML (Data Manipulation Language)'],
@@ -1468,6 +1469,7 @@ var config = {
 					},
 					{
 						title: 'IoTDB-SQL 语言',
+						sidebarDepth: 1,
 						children: [
 							['IoTDB-SQL-Language/DDL-Data-Definition-Language','数据定义语言(DDL)'],
 							['IoTDB-SQL-Language/DML-Data-Manipulation-Language','数据操作语言(DML)'],