
mysql相关知识
包含mysql相关文档
辽宁吴奇隆
java程序员一枚
展开
-
MySQL 索引优化分析:为啥你的SQL慢?为啥你建的索引常失效?
为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引创建的原则,explain命令的使用,以及explain输出字段的意义。这些内容将帮助你了解索引,分析索引,使用索引,从而写出更高性能的sql语句。还在等啥子?案例分析我们先简单了解一下非关系型数据库和关系型数据库的区别。MongoDB是NoSQL中的一种。NoSQL的全称是Not only SQL,非关系型数据库。它的特点是性能高,扩张性强,模式灵活,在高并发场景表现得转载 2020-12-18 16:03:14 · 167 阅读 · 1 评论 -
Impossible WHERE noticed after reading const tables
Impossible WHERE noticed after reading const tables反馈的慢SQL,执行计划返回如下:Impossible WHERE noticed after reading const tablessql很简单:SELECT * FROM deposit_transaction WHERE request_Id = 'XXX'而且该表的request_id创建了唯一索引:很明显,这个字段是保持幂等操作的,通过数据库的唯一索引实现;每次数据落地前原创 2020-12-18 13:34:32 · 338 阅读 · 0 评论 -
Mysql修改存储过程相关权限问题
在使用mysql数据库经常都会遇到这么一个问题,其它用户定义的存储过程,现在使用另一个用户却无法修改或者删除等;正常情况下存储过程的定义者对它有修改、删除的权限;但是其它的用户就要相于的授权,不然无法查看、调用;mysql 中使用用户A创建一个存储过程,现在想通过另一个用户B来修改A创建的存储过程;以下记录就是基于这样的情况产生的;用户A对OTO3库的权限:mysql> show grants for 'a'@'%';+-------------------------------原创 2020-09-21 21:44:14 · 32495 阅读 · 0 评论 -
详解mybatis动态SQL
什么是动态SQL?动态 SQL 是 MyBatis 的强大特性之一。顾名思义,就是会动的SQL,即是能够灵活的根据某种条件拼接出完整的SQL语句。这种类似于MySQL中的case when then else then end....这种语法,能够根据某种条件动态的拼接出需要的SQL。 至于Mybatis如何实现动态SQL呢,Mybatis提供了非常多的标签,能够让我们在XML文件中灵活的运用这些标签达到拼接SQL的目的。常用的标签Mybatis为了能够让开发者灵活的写SQL也是费了一番功夫..原创 2020-09-10 09:43:19 · 38597 阅读 · 0 评论 -
MySQL数据库开发规范
所有的数据库对象名称必须使用小写字母并用下划线分割(MySQL大小敏感,见名知意,最好不超过32字符) 所有的数据库对象名称禁止使用MySQL保留关键字(如 desc、range、match、delayed 等,请参考 MySQL 官方保留字http://dev.mysql.com/doc/refman/5.7/en/keywords.html) 临时库表必须以tmp为前缀并以日期为后缀(tmp_) 备份库和库,必须以bak为前缀,日期为后缀(bak_) 所有存储相同数据的列名和列类型必须一致。(在原创 2020-09-17 14:54:05 · 37527 阅读 · 0 评论 -
mysql面试题解答
一条MySQL更新语句的执行过程是什么样的?1.连接验证及解析客户端与MySQL Server建立连接,发送语句给MySQL Server,接收到后如果是查询语句会先去查询缓存中看,有的话就直接返回了,(新版本的MySQL已经废除了查询缓存,命中率太低了),如果是缓存没有或者是非查询语句,会创建一个解析树,然后进行优化,(解析器知道语句是要执行什么,会评估使用各种索引的代价,然后去使用索引,以及调节表的连接顺序)然后调用innodb引擎的接口来执行语句。2.写undo loginnodb原创 2020-09-17 15:06:32 · 40012 阅读 · 0 评论 -
讲讲一条MySQL更新语句是怎么执行的?
这是在网上找到的一张流程图,写的比较好,大家可以先看图,然后看详细阅读下面的各个步骤。执行流程:1.连接验证及解析客户端与MySQL Server建立连接,发送语句给MySQL Server,接收到后会针对这条语句创建一个解析树,然后进行优化,(解析器知道语句是要执行什么,会评估使用各种索引的代价,然后去使用索引,以及调节表的连接顺序)然后调用innodb引擎的接口来执行语句。2.写undo loginnodb 引擎首先开启事务,对旧数据生成一个反向的UPDATE的语句(如果是INS原创 2020-09-18 10:04:46 · 37690 阅读 · 0 评论 -
MySQL是怎么解决幻读问题的?
问题分析首先幻读是什么?根据MySQL文档上面的定义The so-called phantom problem occurs within a transaction when the same query produces different sets of rows at different times. For example, if a SELECT is executed twice, but returns a row the second time that was not ret原创 2020-09-18 10:05:18 · 38474 阅读 · 0 评论