select操作的函数调用

原创 2011年01月17日 22:24:00

记录一下在select过程中调用到的一系列函数,以后重点看,尤其是优化部分!!!

在将SQL语句解析后,以连接的顺序形成一个查询基表的队列,。

对select语句的处理有两种方式:

一种是带union的操作

一种是单独的select语句

所有select操作的入口函数为:

handle_select

——mysql_union() //含有union操作

         SELECT_LEX_UNIT:prepare()

         SELECT_LEX_UNIT:exec()

          SELECT_LEX_UNIT:cleanup()

——mysql_select() //仅包含select操作

        JOIN:Prepare()  //准备

        JOIN:optimize()  //优化

        JOIN:exec()      //执行

        JOIN:cleanup()  //清理

 

优化:

1.simplify_joins():外连接转化为内连接,将节点on_expr合并到where中

2.optimize_cond():优化条件语句

3.make_join_statistics:收集统计信息

select 和poll函数调用驱动的poll->poll_wait 理解

poll_wait不会挂起当前进程,而是把自己注册到某个事件等待队列中. poll_wait()是用在select系统调用中的. 一般你的代码会有一个struct file_operat...

select 和poll函数调用驱动的poll->poll_wait 理解

poll_wait不会挂起当前进程,而是把自己注册到某个事件等待队列中. poll_wait()是用在select系统调用中的.  一般你的代码会有一个struct file_operat...

//2.、动态函数调用实现下列操作,输入2个数以及操作符计算结果。@ 求最大公约数 $求最小公倍数
 - 求差+ 求和 等等

#import //求最大公约数 int maxDivisor(int x, int y){ int i = 0; if (x < y) { for (int i =...
  • w_sx_
  • w_sx_
  • 2014年07月30日 23:06
  • 444

x86函数调用堆栈的操作

这篇blog试图讲明当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的。这些细节跟操作系统平台及编译器的实现有关,下面的描述是针对运行在Intel奔腾芯片上Lin...

文件操作函数调用

今天跟老汉一起实现一个简单的目录列表功能。(以下内容部分来自 Beginning Linux Programing) 要求 目录中的每个文件单独列在一行上每个子目录会在它的名字后面加上一个斜线字符‘...
  • bsdcfp
  • bsdcfp
  • 2013年11月04日 17:02
  • 1262

动态函数调用实现下列操作,输入2个数以及操作符计算结果。@求最大公约数 $求最小公倍数 -求差 +求和

int sumValue(int x, int y) { return x + y; } int subValue(int x, int y) { return x - y; } in...
  • vaercly
  • vaercly
  • 2014年07月30日 20:33
  • 508

arm编程,关于函数调用形参实参在通用寄存器和栈帧里的对应关系。用汇编透视c语法操作

下面来看个例子,很简单的一个例子,但子函数有大量的形参(10个),以此来看看函数调用过程是如何做形参和实参的复制。 //main.c #include int fun(int n0,i...

微信小程序Page中data数据操作和函数调用

Page() 函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。 //index.js Page({ data: { text: "T...

c里面的数组尽量不要去做函数调用运算等操作

#include void gt(char**s) { (**s) ='b'; } void ff(char* s) { *s = 1; }  int main() { char ...

x86函数调用堆栈的操作

这篇blog试图讲明当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的。这些细节跟操作系统平台及编译器的实现有关,下面的描述是针对运行在Intel奔腾芯片上Linux...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:select操作的函数调用
举报原因:
原因补充:

(最多只允许输入30个字)