目录视图createview...as触发器简介创建触发器的语法createtrigger触发器命名有一定的规律临时修改SQL语句的结束符delimiter触发器的实际运用触发器补充方法showtriggers\droptrigger事务事务的四大特性ACID事务实际运用starttransaction事务相关关键字savepoint事务的隔离级别(重要)1.readuncommitted(未提交读)2.readcommitted(提交读)3.repeatableread(可重复读)4.serializable(可串行读)多版本并发控制MVCC存储过程procedure有参函数和无参函数存储过
目录视图createview...as触发器简介创建触发器的语法createtrigger触发器命名有一定的规律临时修改SQL语句的结束符delimiter触发器的实际运用触发器补充方法showtriggers\droptrigger事务事务的四大特性ACID事务实际运用starttransaction事务相关关键字savepoint事务的隔离级别(重要)1.readuncommitted(未提交读)2.readcommitted(提交读)3.repeatableread(可重复读)4.serializable(可串行读)多版本并发控制MVCC存储过程procedure有参函数和无参函数存储过
Explain简介MySQL优化器在基于成本的计算和基于规则的SQL优化会生成一个所谓的执行计划,我们就可以使用执行计划查看MySQL对该语句具体的执行方式。介绍这个好啰嗦就是了,我们可以通过这个优化器展示的执行计划,查看优化器对我们的SQL进行优化的步骤,连接转换成单表访问时的优化。以及对于之前知识的复习了属于是,比如访问方式,索引的选择,半连接等SQL语句优化。mysql>explainselect*frommall.ums_admin;+----+-------------+-----------+------------+------+---------------+------+--
Explain简介MySQL优化器在基于成本的计算和基于规则的SQL优化会生成一个所谓的执行计划,我们就可以使用执行计划查看MySQL对该语句具体的执行方式。介绍这个好啰嗦就是了,我们可以通过这个优化器展示的执行计划,查看优化器对我们的SQL进行优化的步骤,连接转换成单表访问时的优化。以及对于之前知识的复习了属于是,比如访问方式,索引的选择,半连接等SQL语句优化。mysql>explainselect*frommall.ums_admin;+----+-------------+-----------+------------+------+---------------+------+--
MySqlExplain字段解析idid列表示select的序号,查询Sql中有几个select就会有几个id。id的值越大,该查询的优先级超高。select_type查询类型,Mysql的查询类型有:简单查询、复杂查询SIMPLE(简单查询)PRIMARY(复杂查询的最外层查询)SUBQUERY(复杂查询的子查询,出现在select或者where的子句中),DERIVED(复杂查询的FROM子句中的查询标记为DERIVED,MySql会将结果放在一个临时表中、也称为派生表)UNION(复杂查询中出现在UNION后面的查询标记为UNION)table:表示该查询的访问的是哪个表,可以是具体的表
MySqlExplain字段解析idid列表示select的序号,查询Sql中有几个select就会有几个id。id的值越大,该查询的优先级超高。select_type查询类型,Mysql的查询类型有:简单查询、复杂查询SIMPLE(简单查询)PRIMARY(复杂查询的最外层查询)SUBQUERY(复杂查询的子查询,出现在select或者where的子句中),DERIVED(复杂查询的FROM子句中的查询标记为DERIVED,MySql会将结果放在一个临时表中、也称为派生表)UNION(复杂查询中出现在UNION后面的查询标记为UNION)table:表示该查询的访问的是哪个表,可以是具体的表
阿粉昨天读者朋友们说了关于MySQL的索引的类型还有索引的实现原理,今天,阿粉就来给大家说说这个索引分析和索引优化是应该怎么做的。查看命中索引MySQL里面我们都知道一个指令,EXPLAIN,这个指令我们都知道,它可以对SELECT语句进行分析,并输出SELECT执行的详细信息,供开发人员有针对性的优化。比如我们的SQL是这样的:EXPLAINSELECT*fromuserWHEREid就会吧所有的信息都给我们列出来,我们来分析一下这个每个字段内容的含义:第一个参数:select_type表示查询的类型。常用的值如下:SIMPLE:表示查询语句不包含子查询或unionPRIMARY:表示此查询
阿粉昨天读者朋友们说了关于MySQL的索引的类型还有索引的实现原理,今天,阿粉就来给大家说说这个索引分析和索引优化是应该怎么做的。查看命中索引MySQL里面我们都知道一个指令,EXPLAIN,这个指令我们都知道,它可以对SELECT语句进行分析,并输出SELECT执行的详细信息,供开发人员有针对性的优化。比如我们的SQL是这样的:EXPLAINSELECT*fromuserWHEREid就会吧所有的信息都给我们列出来,我们来分析一下这个每个字段内容的含义:第一个参数:select_type表示查询的类型。常用的值如下:SIMPLE:表示查询语句不包含子查询或unionPRIMARY:表示此查询
我们在使用SQL语句查询表数据时,提前用explain进行语句分析是一个非常好的习惯。通过explain输出sql的详细执行信息,就可以针对性的进行sql优化。今天我们来分析一下,在explain中11种不同type代表的含义以及其应用场景。1、system应用场景:表中只有一条数据,且存储引擎可以准确的统计到这条数据。system一般出现在MyISAM、memory类型的表查询中。由于我们一般使用的存储引擎都是InnoDB,所以system这种类型很少会用到。2、const应用场景:通过主键或者唯一索引等值查询来定位一条数据。比如:select*fromtestwhereid=1。我们知道,
我们在使用SQL语句查询表数据时,提前用explain进行语句分析是一个非常好的习惯。通过explain输出sql的详细执行信息,就可以针对性的进行sql优化。今天我们来分析一下,在explain中11种不同type代表的含义以及其应用场景。1、system应用场景:表中只有一条数据,且存储引擎可以准确的统计到这条数据。system一般出现在MyISAM、memory类型的表查询中。由于我们一般使用的存储引擎都是InnoDB,所以system这种类型很少会用到。2、const应用场景:通过主键或者唯一索引等值查询来定位一条数据。比如:select*fromtestwhereid=1。我们知道,