多谢。 我对catalog,schema,index的结构有如下的认知: catalog +schema +table +index 即一个catalog(目录)下,可能含有多个schema(模式),一个schema下可能含有多个表。可以在表上创建索引(0个或多个)、但是对索引的语义并不了解。 在常见的解析过程中: 首先从from clause 开始,以from test.A为例,在解析过程中,不清楚有哪些结构参与了解析过程。 其次,关于索引的细节有一定认知(B+Tree的结构特性),但是不了解整个过程。即在执行where name like 'xxx',是从哪个结构需要获知需要扫描哪个索引的。 如果能告知一行表的存储结构是最好不过的了。(以test.A)为例。
本帖最后由 rucypli 于 2013-11-25 15:00:07 编辑
用图形表示: T-->(field1,field2,...,fieldn,^)(field表示列,^表示空标识位) (p_col1,p_col2,...,p_coln) (p_col表示列1数据的指针或者等效的结构) | | data pool ... of col1 (col1's data structure)貌似同一行数据之间应该有按列顺序的兄弟指针。这样好像才能确保投影出来的是同一行数据。
多谢。
我对catalog,schema,index的结构有如下的认知:
catalog
+schema
+table
+index
即一个catalog(目录)下,可能含有多个schema(模式),一个schema下可能含有多个表。可以在表上创建索引(0个或多个)、但是对索引的语义并不了解。
在常见的解析过程中:
首先从from clause 开始,以from test.A为例,在解析过程中,不清楚有哪些结构参与了解析过程。
其次,关于索引的细节有一定认知(B+Tree的结构特性),但是不了解整个过程。即在执行where name like 'xxx',是从哪个结构需要获知需要扫描哪个索引的。
如果能告知一行表的存储结构是最好不过的了。(以test.A)为例。
用图形表示:
T-->(field1,field2,...,fieldn,^)(field表示列,^表示空标识位)
(p_col1,p_col2,...,p_coln) (p_col表示列1数据的指针或者等效的结构)
| |
data pool ...
of
col1
(col1's data structure)貌似同一行数据之间应该有按列顺序的兄弟指针。这样好像才能确保投影出来的是同一行数据。