----【MySQL】
MySQL实战经验
温娉哲
I can do this all day
展开
-
JDBC编程的六个步骤以及使用示例(详细)
2.获取数据库连接:Java进程和Mysql进程之间的通道开启了。1.注册驱动:通知Java程序我们要连接的是哪个品牌的数据库。5.处理查询结果集:如果第四步有select语句才有这一步。4.执行SQL语句:对数据库进行CRUD(增删改查)操作。3.获取数据库操作对象:这个对象是用来执行sql语句的。6.释放资源:关闭所有资源。原创 2022-09-18 22:56:49 · 3193 阅读 · 3 评论 -
Mysql-5.6.35 win10x64安装步骤
添加环境变量(个人认为只需要添加到用户变量就好,系统变量尽量不要去修改) 变量名:MYSQL_HOME 变量值:D:\Program Files\MySQL 即为mysql的自定义解压目录。 再在Path中添加 %MYSQL_HOME%\bin 注册windows系统服务 将mysql注册为windows系统服务 操作如下: 1)鼠标右键开始菜单选择”命令提示符(管理员)” 2)输入服转载 2020-10-09 21:54:33 · 332 阅读 · 0 评论 -
(5分钟速成)Centos7 搭建 MySQL 5.7 教程
亲测有效,五分钟搭建完毕,好文值得分享!!????转载 https://www.cnblogs.com/lzhdonald/p/12511998.html原创 2020-08-28 18:43:49 · 390 阅读 · 0 评论 -
MySQL存储引擎MyIsam和InnoDB底层索引结构
一、存储引擎作用于什么对象二、MyIsam和InnoDB对索引和数据的存储在磁盘上是如何体现的?三、MyIsam主键索引和辅助索引(非主键索引)的结构1、主键索引2、辅助索引(非主键)索引四、InnoDB主键索引与辅助索引的结构1、主键索引2、辅助(非主键)索引五、InnoDB索引结构需要注意的点一、存储引擎作用于什么对象存储引擎是作用在表上的,而不是数据库。二、MyIsam和InnoDB对索引和数据的存储在磁盘上是如何体现的?下面是创建好的两张表信息,role表使用的存储引擎是MyIsam,而U.转载 2020-08-24 11:52:32 · 765 阅读 · 0 评论 -
深入浅出MySQL底层索引结构
索引的特性索引的各种存储结构及优缺点(1)二叉树(2)红黑树(3)Hash(4)B-Tree(5)B+ Tree联合索引底层存储结构索引的特性索引是帮助MySQL高效获取数据的排好序的数据结构。而且索引存储在文件里。索引的各种存储结构及优缺点一般情况下,我们在做数据操作的时候,都会给数据加索引。那在数据库没有加索引的情况下,SQL中的where子句是如何查找目标记录的?举例例子:一张表里有两列数据Col1 和 Col2 ,如果对表格第二列Col2列的数据进行查找,如查找 where Col2=.原创 2020-08-21 21:44:49 · 594 阅读 · 0 评论 -
你了解MySQL的加锁规则吗——全局锁,表级锁
锁我们知道,不同存储引擎中所支持的锁也是不一样的。InnoDB 支持行锁和表锁,MyISAM只支持表锁,BDB存储引擎支持页锁和表锁。数据锁的设计主要用来解决并发带来的问题。当一个业务场景中出现多用户共享同一资源,当出现并发访问的时候,数据库需要合理的控制资源的访问规则,锁就是用来控制这些访问规则的。根据加锁的范围,MySQL里的锁大致可以划分为全局锁,表级锁和行锁三类。全局锁(FTWRL)全局锁是对整个数据库实例加锁。MySQL提供了一个加全局锁的方法,命令是:Flush tables wi原创 2020-06-27 21:28:02 · 657 阅读 · 0 评论 -
MySQL存储引擎 及 索引数据结构
事务事务隔离级别隔离性是事务四大特性之一,隔离性可以防止数据库在并发处理时出现数据不一致的情况。最严格的情况下,可以采用串行化的方式执行每个事务,即事务之间是相互独立的,不存在并发的情况。在实际生产环境下,考虑到随着用户量的增多,会存在大规模并发访问的情况,所以要求数据库有更高的吞吐能力,串行化满足不了数据库高并发访问的需求,所以需要降低数据库的隔离标准,来换取事务的并发能力。事务的隔离级别有四种:在MySQL中默认的事务隔离处理级别是‘REPEATABLE-READ’——可重复读。0、在Navi原创 2020-06-27 16:53:01 · 577 阅读 · 0 评论 -
mysql distinct和order by 一起用时,order by的字段必须在select中
MySQL版本:8.16.0分析:SELECT DISTINCT a FROM `t` WHERE a < 5 ORDER BY id在 t 表中查找 满足a < 5 条件的所有a 的值并去重,用 Id 字段进行排序(不指定排序 默认升序) 。为什么会报错呢,分析过程如下:1、首先,在MySQL中 distinct 的执行顺序高于 order by2、第二,distinct 执行时会对查询的记录进行去重,产生一张虚拟的临时表3、第三,order by 执行时对查询的虚拟临时表进行原创 2020-06-24 21:37:23 · 2726 阅读 · 3 评论 -
什么是数据库?什么是关系型数据库?什么是非关系型数据库?
本文内容:什么是数据库什么是关系数据库什么是非关系型数据库什么是数据库?数据库是数据的仓库。与普通的“数据仓库”不同的是,数据库依据“数据结构”来组织数据,因为“数据结构”,所以我们看到的数据是比较“条理化”的(比如不会跟以前的普通文件存储式存储成一个文件那么不条理化,我们的数据库分成一个个库,分成一个个表,分成一条条记录,这些记录是多么分明)也因为其“数据结构”式,所以有极高的查找速率(比如B-Tree查找法),(由于专精,可以根据自己的结构特性来快速查找,所以对于数据库...转载 2020-05-28 18:50:38 · 1924 阅读 · 0 评论 -
数据库服务器的调优步骤
前言在项目预上线之后,发现有一些SQL执行的很慢,如何排查定位SQL查询慢的原因呢?是索引设计的问题?服务器参数配置的问题?还是需要增加缓存的问题?下面咱们一起就从性能分析来入手,定位导致SQL执行慢的原因。数据库服务器的优化步骤当我们遇到数据库调优的问题,该如何思考呢?下面分享一张思考的流程图:将整个流程划分成观察(Show status)和行动(Action)两个部分。其中字母S的部分...原创 2020-04-13 07:50:06 · 653 阅读 · 0 评论 -
慢查询日志,Explain和Show profiling,性能分析你get到了吗
前言在项目预上线之后,发现有一些SQL执行的很慢,如何排查定位SQL查询慢的原因呢?是索引设计的问题?服务器参数配置的问题?还是需要增加缓存的问题?下面咱们一起就从性能分析来入手,定位导致SQL执行慢的原因。数据库服务器的优化步骤当我们遇到数据库调优的问题,该如何思考呢?下面分享一张思考的流程图:将整个流程划分成观察(Show status)和行动(Action)两个部分。其中字母S的部分...原创 2020-04-10 21:15:09 · 1266 阅读 · 1 评论 -
一条SQL语句是如何执行的?
前言我们都知道SQL是声明式语言,作为一名程序媛使用SQL的频繁非常高,那你知道一条SQL是如何被执行的吗,今天我们就从数据库的角度来思考一下SQL是如何被执行的。MySQL中的SQL是如何执行的MySQL是典型的C/S架构,即Client/Server架构,服务器端程序使用的是mysqld。整体的MySQL流程如下所示:从MySQL的流程中我们知道MySQL由三层组成:1、连接层:客...原创 2020-04-09 08:38:37 · 713 阅读 · 0 评论 -
MySQL中锁
前言索引和锁是数据库中的两个核心知识点,不论在工作中,还是在面试中,我们都会经常和它们打交道。在了解了事务的四大原则ACID以及不同的隔离级别之后,我们知道这些隔离级别的实现都是通过锁来完成的,那你有没有思考过为什么我们需要给数据加锁呢?加锁的目的加锁是为了保证数据的一致性,这个思想在程序开发领域中同样很重要。在程序开发中也会存在多线程同步的问题。当多个线程并发访问某个数据的时候,尤其是针...原创 2020-04-06 14:56:24 · 460 阅读 · 0 评论 -
Hash索引和B+树索引的区别
前言我们都知道在MySQL中索引的数据结构有两种,一种是Hash,另一种是BTree。在数据表中建立什么样的索引需要我们根据实际情况进行选择。MySQL中的B+树B+树结构示意图:B+树的特征:1、有K个孩子的节点就有K个关键字。也就是孩子数量=关键字数。2、非叶子节点的关键字也会同时存在在子节点中,并且是在子节点中所有关键字的最大或最小。3、非叶子节点仅用于索引,不保存数据记录,...原创 2020-04-03 11:21:17 · 9933 阅读 · 0 评论 -
如何通过索引让SQL查询效率最大化?
前言我们都知道SQL性能调优可以从两个维度去进行优化,一个逻辑查询优化,另一个是物理查询优化。逻辑查询优化就是通过SQL等价变换提升查询效率,直白一点就是说,换一种查询写法执行效率可能更高。物理查询优化则是通过索引和表连接方式等技术来进行优化。当谈到通过索引去优化SQL查询效率,首先我们需要知道创建索引有哪些规律。创建索引有哪些规律?创建索引有一定的规律。当这些规律出现的时候,我们就可以通过...原创 2020-03-31 15:39:24 · 6093 阅读 · 3 评论 -
Navicat导入SQL语句文件失败的原因——datetime
昨天心血来潮想看看以前项目的代码,所以需要把之前的数据库进行还原,在用Navicat导入SQL语句文件的时候,总是导入失败,但是之前明明可以使用的。我把单条SQL语句拿出来执行,发现只有datetime类型的字段不能执行成功,其他字段都能执行,但是仔细检查SQL语句并没有语法错误。百度了好多资料之后发现,是我MySQL版本的问题,本地mysql的版本用的是5.5的,5.5 版本的MySQL并不...原创 2020-03-16 09:59:19 · 2693 阅读 · 0 评论 -
MySQL 8.0.16 安装教程(超详细)
文章目录1、去官网下载要安装的mysql版本2、配置初始化的my.ini文件3、初始化MySQL4、安装MySQL服务,并启动MySQL服务5、配置MySQL环境变量6、连接MySQL,并修改密码1、去官网下载要安装的mysql版本Mysql官网下载地址,点击下载下载完成后,解压之后的目录结构:2、配置初始化的my.ini文件在解压之后的目录结构中添加一个my.ini文件,在根目录下新...原创 2020-03-16 09:30:24 · 5241 阅读 · 0 评论 -
Mysql——基础学习
一、基础查询1、多个字段的查询select 字段名1,字段名2...from 表名;Select 字段列表Form 表名列表Where 条件列表Group by 分组字段Having 分组之后的条件Order by 排序Limit 分页限定注意:如果查询所有字段,则可以使用*来替代字段列表2、去除重复distinctPS:只有两个字段名的...原创 2019-08-14 08:52:22 · 358 阅读 · 8 评论 -
SQL语句优化
前言前段时间接手库房项目之后,有很多地方需要优化,从中也学到了很多东西,将在博客中一一整理出来分享给大家。实际案例:库房系统中管理员权限下的入库管理中的入库记录页面每次打开时都加载的非常慢,长达三十多秒,网速慢的时候会达到一分钟左右,这个问题非常影响库房系统的功能使用,首先需要解决的就是这个问题。最后我们找到了问题所在,原来是D层下的SQL语句的问题,查询速率快慢和SQL语句的查询顺序密切...原创 2018-11-30 08:44:07 · 358 阅读 · 11 评论 -
Sql之left join(左关联)、right join(右关联)、inner join(自关联)的区别
首先来个图例:left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:...转载 2019-01-12 20:32:11 · 675 阅读 · 13 评论