首页 >

mysql执行计划数据结构 |mysql服务自己停止了

excel写mysql,链接mysql1130,mysql查看客服事务,php mysql三种,mysql count 非常慢,mysql服务自己停止了mysql执行计划数据结构 |mysql服务自己停止了
typedef class st_select_lex SELECT_LEX;
class Explain_query :public Sql_cmd
{
SELECT_LEX *new_select;
SELECT_LEX *select;
bool first;
bool explain_extended;
bool is_explicit;
bool create_sequence;
bool is_analyze;
bool is_format;
bool use_order_hints;
bool use_index_hints;
bool analyze_prechecked;
public:
Explain_query(SELECT_LEX *sel_param, bool first_param) :
new_select(NULL), select(sel_param), first(first_param),
explain_extended(false), is_explicit(false),
create_sequence(false), is_analyze(false),
is_format(false), use_order_hints(false),
use_index_hints(false), analyze_prechecked(false) {}
QEP_TAB get_qep_tab();
int execute(THD* thd);
void set_query_tree(SELECT_LEX *sel) { new_select= sel; }
bool is_analyze_query() { return is_analyze; }
bool is_format_query() { return is_format; }
void set_tree_view() { new_select->set_tree_view(true); }
int get_type() const { return SQLCOM_EXPLAIN; }
virtual Explain_query* clone(MEM_ROOT* mem_root);
void set_explain_extended(bool flag) { explain_extended= flag; }
void set_explicit() { is_explicit= true; }
void set_create_sequence() { create_sequence= true; }
void set_analyze() { is_analyze = true; }
void set_format() { is_format= true; }
bool should_analyze_prechecked() const { return analyze_prechecked; }
boolean check_sp_compatibility(const sp_head *sphead);
bool use_order_hints_flag() const { return use_order_hints; }
bool use_index_hints_flag() const { return use_index_hints; }
};

这段代码是MySQL数据库中的执行计划数据结构的一部分,其中SELECT_LEX是表示SQL语句的内部结构体。

通过执行计划数据结构,MySQL数据库可以对SQL语句进行优化,生成最优的查询计划,从而提高查询效率。同时,在执行计划中,还会包含各种执行操作的相关信息,如表名、列名、索引、排序等等,这些信息都会被记录在执行计划中,以便数据库在执行查询语句时能够更快速地定位和操作数据。

综上所述,MySQL执行计划数据结构是MySQL数据库内部一个非常重要的数据结构,其作用是对SQL查询语句进行优化和执行,从而提高数据库的查询效率。


  • 暂无相关文章