MYSQL笔记(几个比较重要的类)

1.THD
文件:Sql_class.h
该类的父类为Statement和Open_tables_state。THD类包含大量的成员变量,包括当前查询语句及解析树指针、线程信息、线程使用数据库表的情况记录、客户端信息、通信协议等内容。

2.Item类
文件:Item.h
Item是表达式的核心,用于实现表达式,Item类的实例应包括:
1).SQL语句中某项的类似物,如where、order等
2).值
3).数据类型描述符
Item有很多种子类,通过解析查询语句,可以将其分解为多个“项”的集合

3.TABLE类和table_share类
文件:handler.h,table.h
在handler.h中:
typedef struct st_table TABLE;
typedef struct st_table_share TABLE_SHARE;
st_table类和st_table_share类在table.h中定义
这两个类用于对表进行描述,TABLE_SHARE记录了.frm文件中的信息,TABLE类对象代表一个打开的TABLE_SHARE;TABLE类在表被打开时创建,并被缓存留做重用。

4.Field类
文件:Field.h
Field是一个抽象类,有许多具体的子类,用于表示列的类型,该类是TABLE类中的重要成员之一。

5.LEX结构
文件:sql_lex.h
LEX结构名为st_lex,解析器在对sql语句进行解析时,把识别的每个基本元素填充到相关LEX结构里
这个结构被存储在THD中。

6.NET结构
文件:Mysql_com.h
NET结构保存着服务器与客户端进行通信所需要的所有信息。

你可能感兴趣的:(mysql)