From fb71cc8be71e7478850d6836822fb03cd9bc8187 Mon Sep 17 00:00:00 2001 From: Jing Sima Date: Mon, 24 Mar 2025 21:31:05 +0800 Subject: [PATCH] docs: [TS-4897] Add en docs for virtual table. (#30404) --- docs/en/05-basic/01-model.md | 186 ++++++++++++ .../03-taos-sql/05-virtualtable.md | 272 ++++++++++++++++++ .../assets/virtual-table-origin-table.png | Bin 0 -> 7998 bytes .../assets/virtual-table-query-res-part.png | Bin 0 -> 3194 bytes .../assets/virtual-table-query-res.png | Bin 0 -> 5027 bytes docs/en/assets/data-model-origin-table-2.png | Bin 0 -> 56202 bytes docs/en/assets/data-model-origin-table.png | Bin 0 -> 54631 bytes docs/zh/05-basic/01-model.md | 4 +- .../03-taos-sql/05-virtualtable.md | 6 +- 9 files changed, 463 insertions(+), 5 deletions(-) create mode 100644 docs/en/14-reference/03-taos-sql/assets/virtual-table-origin-table.png create mode 100644 docs/en/14-reference/03-taos-sql/assets/virtual-table-query-res-part.png create mode 100644 docs/en/14-reference/03-taos-sql/assets/virtual-table-query-res.png create mode 100644 docs/en/assets/data-model-origin-table-2.png create mode 100644 docs/en/assets/data-model-origin-table.png diff --git a/docs/en/05-basic/01-model.md b/docs/en/05-basic/01-model.md index 3498da2dd5..5d82b03d51 100644 --- a/docs/en/05-basic/01-model.md +++ b/docs/en/05-basic/01-model.md @@ -6,6 +6,8 @@ slug: /basic-features/data-model import Image from '@theme/IdealImage'; import dataModel from '../assets/data-model-01.png'; +import origintable from '../assets/data-model-origin-table.png'; +import origintable2 from '../assets/data-model-origin-table-2.png'; To clearly explain the concepts of time-series data and facilitate the writing of example programs, the TDengine documentation uses smart meters as an example. These example smart meters can collect three metrics: current, voltage, and phase. In addition, each smart meter also has two static attributes: location and group ID. The data collected by these smart meters is shown in the table below. @@ -79,6 +81,19 @@ To better understand the relationship between metrics, tags, supertables, and su
Figure 1. The TDengine data model
+### Virtual Tables + +The design of "one table per data collection point" and "supertables" addresses most challenges in time-series data management and analysis for industrial and IoT scenarios. However, in real-world scenarios, a single device often has multiple sensors with varying collection frequencies. For example, a wind turbine may have electrical parameters, environmental parameters, and mechanical parameters, each collected by different sensors at different intervals. This makes it difficult to describe a device with a single table, often requiring multiple tables. When analyzing data across multiple sensors, multi-level join queries become necessary, which can lead to usability and performance issues. From a user perspective, "one table per device" is more intuitive. However, directly implementing this model would result in excessive NULL values at each timestamp due to varying collection frequencies, reducing storage and query efficiency. + +To resolve this, TDengine introduces **Virtual Tables** (VTables). A virtual table is a logical entity that does not store physical data but enables analytical computations by dynamically combining columns from multiple source tables (subtables or regular tables). Like physical tables, virtual tables can be categorized into **virtual supertables**, **virtual subtables**, and **virtual regular tables**. A virtual supertable can represent a complete dataset for a device or group of devices, while each virtual subtable can flexibly reference columns from different sources. This allows users to define custom data views tailored to specific analytical needs, achieving a "personalized schema per user" effect. Virtual tables cannot be written to or deleted from but are queried like physical tables. The key distinction is that virtual table data is dynamically generated during queries—only columns referenced in a query are merged into the virtual table. Thus, the same virtual table may present entirely different datasets across different queries. + +**Key Features of Virtual Supertables:** +1. **Column Selection & Merging**: Users can select specific columns from multiple source tables and combine them into a unified view. +2. **Timestamp-Based Alignment**: Data is aligned by timestamp. If multiple tables have data at the same timestamp, their column values are merged into a single row. Missing values are filled with NULL. +3. **Dynamic Updates**: Virtual tables automatically reflect changes in source tables, ensuring real-time data without physical storage. + +By introducing virtual tables, TDengine simplifies the management of complex device data. Regardless of how individual collection points are modeled (single-column or multi-column) or distributed across databases/tables, users can freely define data sources through virtual supertables. This enables cross-collection-point aggregation and analysis, making "one table per device" a practical reality. + ### Database A database in TDengine is used to manage a collection of tables. TDengine allows a running instance to contain multiple databases, and each database can be configured with different storage strategies. Since different types of data collection points usually have different data characteristics, such as data collection frequency, data retention period, number of replicas, data block size, etc., it is recommended to create supertables with different data characteristics in different databases. @@ -226,3 +241,174 @@ TDengine supports flexible data model designs, including multi-column and single Although TDengine recommends using the multi-column model because it generally offers better writing and storage efficiency, the single-column model might be more suitable in certain specific scenarios. For example, if the types of quantities collected at a data collection point frequently change, using a multi-column model would require frequent modifications to the supertable's structural definition, increasing the complexity of the application. In such cases, using a single-column model can simplify the design and management of the application, as it allows independent management and expansion of each physical quantity's supertable. Overall, TDengine offers flexible data model options, allowing users to choose the most suitable model based on actual needs and scenarios to optimize performance and manage complexity. + +### Creating Virtual Tables + +Whether using single-column or multi-column models, TDengine enables cross-table operations through virtual tables. Using smart meters as an example, here we introduce two typical use cases for virtual tables: + +1. Single-Source Multi-Dimensional Time-Series Aggregation +2. Cross-Source Metric Comparative Analysis + +--- + +#### 1. Single-Source Multi-Dimensional Time-Series Aggregation +In this scenario, "single-source" refers to multiple **single-column time-series tables** from the **same data collection point**. While these tables are physically split due to business requirements or constraints, they maintain logical consistency through device tags and timestamps. Virtual tables restore "vertically" split data into a complete "horizontal" view of the collection point. +For example, Suppose three supertables are created for current, voltage, and phase measurements using a single-column model. Virtual tables can aggregate these three measurements into one unified view. + +The SQL statement for creating a supertable in the single-column model is as follows: + +```sql + +CREATE STABLE current_stb ( + ts timestamp, + current float +) TAGS ( + device_id varchar(64), + location varchar(64), + group_id int +); + +CREATE STABLE voltage_stb ( + ts timestamp, + voltage int +) TAGS ( + device_id varchar(64), + location varchar(64), + group_id int +); + +CREATE STABLE phase_stb ( + ts timestamp, + phase float +) TAGS ( + device_id varchar(64), + location varchar(64), + group_id int +); +``` + +Assume there are four devices: d1001, d1002, d1003, and d1004. To create subtables for their current, voltage, and phase measurements, use the following SQL statements: + +```sql +create table current_d1001 using current_stb(deviceid, location, group_id) tags("d1001", "California.SanFrancisco", 2); +create table current_d1002 using current_stb(deviceid, location, group_id) tags("d1002", "California.SanFrancisco", 3); +create table current_d1003 using current_stb(deviceid, location, group_id) tags("d1003", "California.LosAngeles", 3); +create table current_d1004 using current_stb(deviceid, location, group_id) tags("d1004", "California.LosAngeles", 2); + +create table voltage_d1001 using voltage_stb(deviceid, location, group_id) tags("d1001", "California.SanFrancisco", 2); +create table voltage_d1002 using voltage_stb(deviceid, location, group_id) tags("d1002", "California.SanFrancisco", 3); +create table voltage_d1003 using voltage_stb(deviceid, location, group_id) tags("d1003", "California.LosAngeles", 3); +create table voltage_d1004 using voltage_stb(deviceid, location, group_id) tags("d1004", "California.LosAngeles", 2); + +create table phase_d1001 using phase_stb(deviceid, location, group_id) tags("d1001", "California.SanFrancisco", 2); +create table phase_d1002 using phase_stb(deviceid, location, group_id) tags("d1002", "California.SanFrancisco", 3); +create table phase_d1003 using phase_stb(deviceid, location, group_id) tags("d1003", "California.LosAngeles", 3); +create table phase_d1004 using phase_stb(deviceid, location, group_id) tags("d1004", "California.LosAngeles", 2); +``` + +A virtual supertable can be used to aggregate these three types of measurements into a single table. The SQL statement to create the virtual supertable is as follows: + +```sql +CREATE STABLE meters_v ( + ts timestamp, + current float, + voltage int, + phase float +) TAGS ( + location varchar(64), + group_id int +) VIRTUAL 1; +``` + +For the four devices d1001, d1002, d1003, and d1004, create virtual subtables with the following SQL statements: + +```sql +CREATE VTABLE d1001_v ( + current from current_d1001.current, + voltage from voltage_d1001.voltage, + phase from phase_d1001.phase +) +USING meters_v +TAGS ( + "California.SanFrancisco", + 2 +); + +CREATE VTABLE d1002_v ( + current from current_d1002.current, + voltage from voltage_d1002.voltage, + phase from phase_d1002.phase +) +USING meters_v +TAGS ( + "California.SanFrancisco", + 3 +); + +CREATE VTABLE d1003_v ( + current from current_d1003.current, + voltage from voltage_d1003.voltage, + phase from phase_d1003.phase +) +USING meters_v +TAGS ( + "California.LosAngeles", + 3 +); + +CREATE VTABLE d1004_v ( + current from current_d1004.current, + voltage from voltage_d1004.voltage, + phase from phase_d1004.phase +) +USING meters_v +TAGS ( + "California.LosAngeles", + 2 +); +``` + +Taking device d1001 as an example, assume that the current, voltage, and phase data of device d1001 are as follows: + +data-model-origin-table + +| Timestamp | Current | Voltage | Phase | +|-------------------|---------|---------|-------| +| 1538548685000 | 10.3 | 219 | 0.31 | +| 1538548695000 | 12.6 | 218 | 0.33 | +| 1538548696800 | 12.3 | 221 | 0.31 | +| 1538548697100 | 12.1 | 220 | NULL | +| 1538548697200 | NULL | NULL | 0.32 | +| 1538548697700 | 11.8 | NULL | NULL | +| 1538548697800 | NULL | 222 | 0.33 | + +--- + +#### 2. Cross-Source Metric Comparative Analysis +In this scenario, "cross-source" refers to data from **different data collection points**. Virtual tables align and merge semantically comparable measurements from multiple devices for comparative analysis. +For example, Compare current measurements across devices `d1001`, `d1002`, `d1003`, and `d1004`. The SQL statement to create the virtual table is as follows: + +```sql +CREATE VTABLE current_v ( + ts TIMESTAMP, + d1001_current FLOAT FROM current_d1001.current, + d1002_current FLOAT FROM current_d1002.current, + d1003_current FLOAT FROM current_d1003.current, + d1004_current FLOAT FROM current_d1004.current +); +``` + +Assume that the current data of devices d1001, d1002, d1003, and d1004 are as follows: +data-model-origin-table-2 + +The virtual table `current_v` aligns current data by timestamp: + +| Timestamp | d1001_current | d1002_current | d1003_current | d1004_current | +|-------------------|---------------|---------------|---------------|---------------| +| 1538548685000 | 10.3 | 11.7 | 11.2 | 12.4 | +| 1538548695000 | 12.6 | 11.9 | 10.8 | 11.3 | +| 1538548696800 | 12.3 | 12.4 | 12.3 | 10.1 | +| 1538548697100 | 12.1 | NULL | 11.1 | NULL | +| 1538548697200 | NULL | 12.2 | NULL | 11.7 | +| 1538548697700 | 11.8 | 11.4 | NULL | NULL | +| 1538548697800 | NULL | NULL | 12.1 | 12.6 | diff --git a/docs/en/14-reference/03-taos-sql/05-virtualtable.md b/docs/en/14-reference/03-taos-sql/05-virtualtable.md index e69de29bb2..4aa1c99719 100644 --- a/docs/en/14-reference/03-taos-sql/05-virtualtable.md +++ b/docs/en/14-reference/03-taos-sql/05-virtualtable.md @@ -0,0 +1,272 @@ +--- +sidebar_label: Virtual Tables +title: Virtual Tables +description: Various management operations for virtual tables +--- + +import origintable from './assets/virtual-table-origin-table.png'; +import queryres from './assets/virtual-table-query-res.png'; +import partres from './assets/virtual-table-query-res-part.png'; + +## Create Virtual Table + +The `CREATE VTABLE` statement is used to create virtual basic tables and virtual subtables using virtual supertables as templates. + +### Create Virtual Supertables + +Refer to the `VIRTUAL` parameter in [Create Supertable](./04-stable.md#create-supertable). + +### Create Virtual Basic Table + +```sql +CREATE VTABLE [IF NOT EXISTS] [db_name].vtb_name + ts_col_name timestamp, + (create_definition[ ,create_definition] ...) + + create_definition: + vtb_col_name column_definition + + column_definition: + type_name [FROM [db_name.]table_name.col_name] +``` + +### Create Virtual Subtable + +```sql +CREATE VTABLE [IF NOT EXISTS] [db_name].vtb_name + (create_definition[ ,create_definition] ...) + USING [db_name.]stb_name + [(tag_name [, tag_name] ...)] + TAGS (tag_value [, tag_value] ...) + + create_definition: + [stb_col_name FROM] [db_name.]table_name.col_name + tag_value: + const_value +``` + +**Usage Notes** + +1. Naming rules for virtual tables/columns follow [Name Rules](./19-limit.md#naming-rules). +2. Maximum table name length: 192 characters. +3. The first column must be TIMESTAMP and is automatically set as primary key. +4. Row length cannot exceed 64KB (Note: VARCHAR/NCHAR/GEOMETRY columns consume 2 extra bytes each). +5. Specify maximum length for VARCHAR/NCHAR/GEOMETRY types (e.g., VARCHAR(20)). +6. Use `FROM` to specify column data sources. Cross-database sources are supported via `db_name`. +7. The timestamp column (ts) values of virtual table are merged results from all involved tables' timestamp primary keys during queries. +8. Virtual supertables only support creating virtual subtables, virtual subtables can only use virtual supertables as template. +9. Ensure virtual tables' column/tag data types match their source columns/tags. +10. Virtual table names must be unique within a database and cannot conflict with table names, and it is recommended that view names do not duplicate virtual table names (not enforced). When a view and a virtual table have the same name, operations such as writing, querying, granting, and revoking permissions prioritize the virtual table with the same name. . +11. When creating virtual subtables/basic tables, `FROM` columns must originate from basic tables/subtables (not supertables, views, or other virtual tables). + +## Query Virtual Tables + +Virtual tables use the same query syntax as regular tables, but their dataset may vary between queries based on data alignment rules. + +### Data Alignment Rules + +1. Align data from multiple source tables by timestamp. +2. Combine columns with same timestamp into one row; missing values fill with NULL. +3. Virtual table timestamps are the union of all involved columns' origin tables' timestamps. Therefore, the number of rows in the result set may vary when different queries select different columns. +4. Users can combine any columns from multiple tables; unselected columns are excluded. + +**Example** + +Given tables t1, t2, t3 with data: + +Original Table Structure and Data + +Create a virtual table v1: + +```sql +CREATE VTABLE v1 ( + ts timestamp, + c1 int FROM t1.value, + c2 int FROM t2.value, + c3 int FROM t3.value1, + c4 int FROM t3.value2); +``` + +Querying all columns: + +```sql +SELECT * FROM v1; +``` + +Result: +Full Query Result + +Partial column query: + +```sql +SELECT c1, c2 FROM v1; +``` + +Result: +Partial Query Result + +Since the original tables t1 and t2 (corresponding to columns c1 and c2) lack the timestamp 0:00:03, this timestamp will not appear in the final result. + +**Limitations** +1. Querying virtual supertables does not support subtables from different databases. + +## Modify Virtual Basic Tables + +```sql +ALTER VTABLE [db_name.]vtb_name alter_table_clause + +alter_table_clause: { + ADD COLUMN vtb_col_name vtb_column_type [FROM table_name.col_name] + | DROP COLUMN vtb_col_name + | ALTER COLUMN vtb_col_name SET {table_name.col_name | NULL } + | MODIFY COLUMN col_name column_type + | RENAME COLUMN old_col_name new_col_name +} +``` + +### Add Column + +```sql +ALTER VTABLE vtb_name ADD COLUMN vtb_col_name vtb_col_type [FROM [db_name].table_name.col_name] +``` + +### Drop Column + +```sql +ALTER VTABLE vtb_name DROP COLUMN vtb_col_name +``` + +### Modify Column Width + +```sql +ALTER VTABLE vtb_name MODIFY COLUMN vtb_col_name data_type(length); +``` + +### Rename Column + +```sql +ALTER VTABLE vtb_name RENAME COLUMN old_col_name new_col_name +``` + +### Change Column Source + +```sql +ALTER VTABLE vtb_name ALTER COLUMN vtb_col_name SET {[db_name.]table_name.col_name | NULL} +``` + +## Modify Virtual Subtables + +```sql +ALTER VTABLE [db_name.]vtb_name alter_table_clause + +alter_table_clause: { + ALTER COLUMN vtb_col_name SET table_name.col_name + | SET TAG tag_name = new_tag_value +} +``` + +### Modify Subtable Tag Value + +```sql +ALTER VTABLE tb_name SET TAG tag_name1=new_tag_value1, tag_name2=new_tag_value2 ...; +``` + +### Change Column Source + +```sql +ALTER VTABLE vtb_name ALTER COLUMN vtb_col_name SET {[db_name.]table_name.col_name | NULL} +``` + +## Drop Virtual Tables + +```sql +DROP VTABLE [IF EXISTS] [dbname].vtb_name; +``` + +## View Virtual Table Information + +### List Virtual Tables + +```sql +SHOW [NORMAL | CHILD] [db_name.]VTABLES [LIKE 'pattern']; +``` + +### Show Creation Statement + +```sql +SHOW CREATE VTABLE [db_name.]vtable_name; +``` + +### Describe Structure + +```sql +DESCRIBE [db_name.]vtb_name; +``` + +### Query All Virtual Tables' Information + +```sql +SELECT ... FROM information_schema.ins_tables WHERE type = 'VIRTUAL_NORMAL_TABLE' OR type = 'VIRTUAL_CHILD_TABLE'; +``` + +## Write to Virtual Tables + +Writing or deleting data in virtual tables is **not supported**. Virtual tables are logical views computed from source tables. + +## Virtual Tables vs. Views + +| Property | Virtual Table | View | +|-----------------------|-----------------------------------|-------------------------------| +| **Definition** | Dynamic structure combining multiple tables by timestamp. | Saved SQL query definition. | +| **Data Source** | Multiple tables with timestamp alignment. | Single/multiple table query results. | +| **Storage** | No physical storage; dynamic generation. | No storage; query logic only. | +| **Timestamp Handling**| Aligns timestamps across tables. | Follows query logic. | +| **Update Mechanism** | Real-time reflection of source changes. | Depends on query execution. | +| **Special Features** | Supports NULL filling and interpolation (prev/next/linear). | No built-in interpolation. | +| **Use Case** | Time series alignment, cross-table analysis. | Simplify complex queries, access control. | +| **Performance** | Potentially higher complexity. | Similar to underlying queries. | + +Mutual conversion between virtual tables and views is not supported. For example, you cannot create a view based on a virtual table or create a virtual table from a view. + +## Permissions + +Virtual table permissions are categorized into READ and WRITE. Query operations require READ permission, while operations to delete or modify the virtual table itself require WRITE permission. + +### Syntax + +#### Grant +```sql +GRANT privileges ON [db_name.]vtable_name TO user_name +privileges: { ALL | READ | WRITE } +``` + +#### Revoke +```sql +REVOKE privileges ON [db_name.]vtable_name FROM user_name +privileges: { ALL | READ | WRITE } +``` + +### Permission Rules + +1. The creator of a virtual table and the root user have all permissions by default. +2. Users can grant or revoke read/write permissions for specific virtual tables (including virtual supertables and virtual regular tables) via `dbname.vtbname`. Direct permission operations on virtual subtables are not supported. +3. Virtual subtables and virtual supertables do not support tag-based authorization (table-level authorization). Virtual subtables inherit permissions from their virtual supertables. +4. Granting and revoking permissions for other users must be performed through `GRANT` and `REVOKE` statements, and only the root user can execute these operations. +5. The detailed permission control rules are summarized below: + +| No. | Operation | Permission Requirements | +|-----|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 1 | CREATE VTABLE | The user has **WRITE** permission on the database to which the virtual table belongs, and
the user has **READ** permission on the source tables corresponding to the virtual table's data sources. | +| 2 | DROP/ALTER VTABLE | The user has **WRITE** permission on the virtual table. If specifying a column's data source, the user must also have **READ** permission on the source table corresponding to that column. | +| 3 | SHOW VTABLES | None | +| 4 | SHOW CREATE VTABLE | None | +| 5 | DESCRIBE VTABLE | None | +| 6 | Query System Tables | None | +| 7 | SELECT FROM VTABLE | The user has **READ** permission on the virtual table. | +| 8 | GRANT/REVOKE | Only the **root user** has permission. | + +## Use Cases + +| SQL Query | SQL Write | STMT Query | STMT Write | Subscribe | Stream Compute | +|----------|-----------|------------|------------|-----------|----------------| +| Supported | Not Supported | Not Supported | Not Supported | Not Supported | Supported | \ No newline at end of file diff --git a/docs/en/14-reference/03-taos-sql/assets/virtual-table-origin-table.png b/docs/en/14-reference/03-taos-sql/assets/virtual-table-origin-table.png new file mode 100644 index 0000000000000000000000000000000000000000..4819389b22550ed58308fdc5f42c54f27772ef39 GIT binary patch literal 7998 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 literal 0 HcmV?d00001 diff --git a/docs/en/14-reference/03-taos-sql/assets/virtual-table-query-res-part.png b/docs/en/14-reference/03-taos-sql/assets/virtual-table-query-res-part.png new file mode 100644 index 0000000000000000000000000000000000000000..5afbdac55e068f93a983b5bf3fec60ee69386fb7 GIT binary patch literal 3194 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 Qeq!8(mKPRVL7?XKFY3rBA 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 Uh{1=zKi>%8vZ^x0(xw6b1!APL00000 literal 0 HcmV?d00001 diff --git a/docs/en/assets/data-model-origin-table-2.png b/docs/en/assets/data-model-origin-table-2.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0e203b4e11f02bf24512e8cfc336021b285b31 GIT binary patch literal 56202 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 literal 0 HcmV?d00001 diff --git a/docs/en/assets/data-model-origin-table.png b/docs/en/assets/data-model-origin-table.png new file mode 100644 index 0000000000000000000000000000000000000000..4e128e26b0bcf54db821f425348193368a8f8787 GIT binary patch literal 54631 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 literal 0 HcmV?d00001 diff --git a/docs/zh/05-basic/01-model.md b/docs/zh/05-basic/01-model.md index c8a6646983..2c311f1010 100644 --- a/docs/zh/05-basic/01-model.md +++ b/docs/zh/05-basic/01-model.md @@ -357,7 +357,7 @@ TAGS ( 以设备 d1001 为例,假设 d1001 设备的电流、电压、相位数据如下: -data-model-origin-table +data-model-origin-table 虚拟表 d1001_v 中的数据如下: @@ -390,7 +390,7 @@ CREATE VTABLE current_v ( 假设 d1001, d1002, d1003, d1004 四个设备的电流数据如下: -data-model-origin-table-2 +data-model-origin-table-2 虚拟表 current_v 中的数据如下: diff --git a/docs/zh/14-reference/03-taos-sql/05-virtualtable.md b/docs/zh/14-reference/03-taos-sql/05-virtualtable.md index 54c150ab4f..2b354fd3c1 100644 --- a/docs/zh/14-reference/03-taos-sql/05-virtualtable.md +++ b/docs/zh/14-reference/03-taos-sql/05-virtualtable.md @@ -73,7 +73,7 @@ CREATE VTABLE [IF NOT EXISTS] [db_name].vtb_name 假设有表 t1、t2、t3 结构和数据如下: -origintable +origintable 并且有虚拟普通表 v1 ,创建方式如下: @@ -94,7 +94,7 @@ select * from v1; 结果如下: -queryres +queryres 如果没有选择全部列,只是选择了部分列,查询的结果只会包含选择的列的原始表的时间戳,例如执行如下查询: @@ -104,7 +104,7 @@ select c1, c2 from v1; 得到的结果如下图所示: -partres +partres 因为 c1、c2 列对应的原始表 t1、t2 中没有 0:00:03 这个时间戳,所以最后的结果也不会包含这个时间戳。