Sql语句的执行顺序。 语句执行顺序
SQL执行顺序及原理
一、sql语句的执行步骤:
1)语法分析,分析句子的语法是否符合规范,衡量句子中每个表达的含义。
2)语义分析,检查语句涉及的所有数据库对象是否存在,以及用户是否具有相应的权限。
3)视图转换,将视图相关的查询语句转换为基表上对应的查询语句。
4)表达式转换,将复杂的SQL表达式转换为更简单的等价连接表达式。
5)选择优化器,不同的优化器一般会产生不同的“执行计划”
6)选择连接方式,共有三种连接方式,多表连接可以选择合适的连接方式。
7) 选择连接顺序,多表连接时选择先连接哪对表,并选择这两个表中的哪一个为源数据表。
8)选择数据搜索路径,根据上述条件选择合适的数据搜索路径,比如选择全表搜索或者使用索引等方式。
9)运行“执行计划”
2、共享原则:
将执行的SQL语句存储在内存共享池(pool)中,该内存池可以被所有数据库用户共享。 当你执行一条SQL语句(有时称为游标)时,如果它与之前执行的语句一模一样,
您可以快速获得解析后的语句和最佳执行路径。 该功能大大提高了SQL的执行性能并节省了内存占用
3.提高语句查询效率的方法: 1:
nin(*from ... ... 子句组装来自不同数据源的数据;
2. ax(总分)作为最大总分
第 2 部分:SQL 语句执行顺序
一、sql语句的执行步骤:
1)语法分析,分析句子的语法是否符合规范,衡量句子中每个表达的含义。
2)语义分析,检查语句涉及的所有数据库对象是否存在,以及用户是否具有相应的权限。
3)视图转换,将视图相关的查询语句转换为基表上对应的查询语句。
4)表达式转换,将复杂的SQL表达式转换为更简单的等价连接表达式。
5)选择优化器,不同的优化器一般会产生不同的“执行计划”
6)选择连接方式,共有三种连接方式,多表连接可以选择合适的连接方式。
7)选择连接顺序,多表连接时选择先连接哪对表,并选择这两个表中哪一个为源数据表。
8)选择数据搜索路径,根据上述条件选择合适的数据搜索路径,比如选择全表搜索或者使用索引等方式。
9)运行“执行计划”
2、共享原则:
将执行的SQL语句存储在内存共享池(pool)中,该内存池可以被所有数据库用户共享。 当你执行一条SQL语句(有时称为游标)时,如果它与之前执行的语句一模一样,你可以快速得到解析后的语句和最佳执行路径。 该功能大大提高了SQL的执行性能并节省了内存占用
3、提高语句查询效率的方法: 1:n in( * from ... ...子句组装来自不同数据源的数据;
2. 子句组装来自不同数据源的数据;
2. 子句组装来自不同数据源的数据;
2. 该子句汇集了不同数据源的数据; 2、e set=,=+1先执行