Mysql
文章平均质量分 81
路漫漫路漫漫
这个作者很懒,什么都没留下…
展开
-
exists 和not exists用法
exists 和not exists用法转载 2022-07-11 15:27:03 · 1478 阅读 · 0 评论 -
3.理解TiDB执行计划
一、Explain EXPLAIN 语句仅用于显示查询的执行计划,而不执行查询。 EXPLAIN ANALYZE 可执行查询,补充 EXPLAIN 语句。如果 EXPLAIN 的输出与预期结果不匹配,可考虑在查询的每个表上执行 ...转载 2021-03-04 16:01:57 · 1233 阅读 · 3 评论 -
TiDB SQL优化(二)
1.物理优化 物理优化是基于代价的优化,为上一阶段产生的逻辑执行计划制定物理执行计划。这一阶段中,优化器会为逻辑执行计划中的每个算子选择具体的物理实现。逻辑算子的不同物理实现有着不同的时间复杂度、资源消耗和物理属性等。在这个过程中,优化器会根据数据的统计信息来确定不同物理实现的代价,并选择整体代价最小的物理执行计划。 ...转载 2021-02-01 11:47:28 · 825 阅读 · 1 评论 -
Tidb SQL优化(一)
1.SQL 优化流程 在 TiDB 中,从输入的查询文本到最终的执行计划执行结果的过程可以见下图。 在经过了 parser 对原始查询文本的解析以及一些简单的合法性验证后,TiDB 首先会对查询做一些逻辑上的等价变化, 通过这些等价变化,使得这个查询在逻辑执行计划上可以变得更易于处理。在等价变化结束之后,TiDB 会得到一个与原始查...转载 2021-02-01 11:43:23 · 1479 阅读 · 1 评论 -
MySQL出现错误1205-Lock wait timeout exceeded; try restarting transaction
今天在清空mysql数据库中的表格数据时,报了如下错误,导致操作失败:上网查找了一下,了解到了该类问题出现的主要原因是:Mysql的 InnoDB存储引擎是支持事务的,事务开启后没有被主动Commit,导致该资源被长期占用,其他事务在抢占该资源时,因上一个事务的锁而导致抢占失败!因此出现 Lock wait timeout exceeded。解决办法: 方法...转载 2019-07-05 11:37:38 · 4117 阅读 · 0 评论 -
Sql中$和#号的区别,以及预编译的好处
1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select id,name,age from student where id ='1'.2 $是将传入的数据直接显示生成sql语句,eg:select id,name,age from student ...原创 2018-08-15 17:10:35 · 2626 阅读 · 0 评论