mysql执行计划详解 mysql优化教程?
mysql优化教程?1. 优化SQL语句、索引和表结构。2. 打开查询缓存时,查询缓存缓存选择查询及其结果数据集。当执行同一个select查询时,MySQL将直接从内存中检索结果,这加快了查询的执行速
mysql优化教程?
1. 优化SQL语句、索引和表结构。
2. 打开查询缓存时,查询缓存缓存选择查询及其结果数据集。当执行同一个select查询时,MySQL将直接从内存中检索结果,这加快了查询的执行速度,减少了对数据库的压力。执行show变量,比如“have”uqueryucache,您可以检查MySQL查询缓存是否打开。要打开查询缓存,只需配置我的.cnf具体如下:
querycacheuuutype=1
querycacheuusize=128M
querycacheulimit=1m
保存后重新启动mysql。
3. 选择InnoDB存储引擎。MySQL常用的存储引擎是MyISAM和InnoDB。它们之间的区别如下:
MyISAM
查询速度快;
支持表级锁,在此期间不能对表执行其他操作;
支持全文检索;
支持数据压缩、自复制、查询缓存和数据加密;
不支持外键;
不支持事务,因此没有提交和回滚操作;
不支持群集数据库。
InnoDB
支持行级锁;
支持外键和外键约束强制执行;
支持事务,可以执行提交和回滚操作;
支持数据压缩、自复制、查询缓存和数据加密;
可以在群集环境中使用,但不完全支持。InnoDB表可以转换为NDB存储引擎,可以在集群环境下使用。
怎么去看懂mysql的执行计划?
MySQL查看执行计划语句很简单,说明你要执行的SQL语句是可以的。
例如
解释从员工中选择*,其中员工。性别=“M”
返回的结果如下:
这些结果代表什么?
ID是一组数字,表示查询中执行select子句或操作表的顺序。
如果ID相同,则执行顺序是从上到下。
如果是子查询,则ID的序列号将增加。ID越大,优先级越高,执行的时间越早。
如果ID相同,则可以将其视为一个组并从上到下执行。在所有组中,ID越高,优先级就越高,执行就越容易。
选择类型包括简单、主要、子查询、派生、联合和联合结果。
简单意味着查询不包含子查询或联合。
如何查看mysql存储过程中sql的执行计划?
打开SQL Server Management Studio以查找存储过程所在的数据库。您可以在“对象资源管理器详细信息”中查看存储过程的文件夹。
单击以打开此文件夹,并在搜索中输入要搜索的存储过程的名称。
同样,您也可以在数据库目录结构中存储过程的右键单击菜单中选择过滤器设置。
在这里您可以设置详细条件过滤器。搜索需要查看的存储过程。
找到SQL存储过程后,也可以右键单击菜单中的“修改”进入SQL存储过程编辑。
检查SQL存储过程是否有参数,因为执行SQL存储过程时需要使用参数。
了解SQL存储过程的引用类型和基本功能后,可以使用exec storage procedure name参数执行SQL存储过程。
最后,查看下面的SQL存储过程执行结果。
一条SQL语句在MySQL中是如何执行的?
MySQL执行SQL的过程如下:
1。连接器,这一步是建立与客户端的连接
2。分析器,解析SQL语句,如果SQL语句编写不正确,此步骤将报告错误
3。优化器,这一步主要是选择索引,MySQL会选择被认为是最好的索引,但实际上可能不是最好的
4这一步主要是调用特定的存储引擎,根据表的定义执行SQL。现在默认引擎是InnoDB。还有一个binlog。
这里省略了查询缓存的步骤。此步骤在连接器之后,但缓存通常是关闭的。