
数据库
文章平均质量分 94
奋斗的小媛
这个作者很懒,什么都没留下…
展开
-
MySQL 查询执行的过程
查询的生命周期大致可以按照顺序来看:从客户端到服务端,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。其中 “执行” 可以认为是整个生命周期中最重要的阶段,其中包括了大量为了检索数据到存储引擎的调用以及调用后的数据处理,包括排序分组等。当希望 MySQL 能够以高性能的方式运行查询时,最好的办法就是弄清楚 MySQL 是如何优化和执行查询的。MySQL 执行一个查询的过程,如下:【1】首先我们会连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理原创 2021-04-19 23:16:49 · 269 阅读 · 0 评论 -
MySQL 中 explain关键字
explain关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理 SQL 语句的。分析查询语句或表结构的性能瓶颈。执行语句:explain + SQL语句。表头信息如下:|一、ID 参数select 查询的序列号,包含一组数字,表示查询中执行 select 子句或操作表的顺序。三种情况:【1】**id 相同:**执行顺序由上而下;explain select t2.* from t1,t2,t3 where t1.id = t2.id and t1.id = t3..原创 2021-04-17 19:42:22 · 309 阅读 · 1 评论 -
MySQL 主从复制的问题及解决方案
复制功能是构建 MySQL 的大规模、高性能的基础,也就是所谓的 “水平扩展” 架构。我们可以通过为服务器配置一个或多个备库。同时,复制也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。MySQL主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案。一、复制概述复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台备库上,备库本身也可以被配置成另外一台服务器的主库。通过复制可以将读操作指向备库来获得更好的读扩展,原创 2021-04-17 16:23:13 · 552 阅读 · 1 评论 -
InnoDB 索引实现
虽然 InnoDB 也使用 B+Tree 作为索引结构,但具体实现方式却与 MyISAM 截然不同。InnoDB 的数据文件本身就是索引文件。MyISAM 索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。而在InnoDB 中,表数据文件本身就是按 B+Tree 组织的一个索引结构,这棵树的叶子节点保存了完整的数据记录。这个索引的 key 是数据表的主键,因此InnoDB 表数据文件...原创 2020-04-02 16:13:33 · 353 阅读 · 0 评论 -
java面试---数据库之数据库优化及mycat分库分表
接触过哪些数据库;oraclemysqloracle和mysql分页的区别;oracle分页的原理;Mysql使用limit分页select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSizeOracle使用rownum分页select * from (select rownum r...原创 2020-03-30 15:54:25 · 453 阅读 · 0 评论 -
数据库分页、索引、优化等
接触过哪些数据库;oraclemysqloracle和mysql分页的区别;oracle分页的原理;Mysql使用limit分页select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSizeOracle使用rownum分页select * from (select rownum rn,a...原创 2020-03-23 17:27:18 · 370 阅读 · 0 评论 -
Java面试---数据库
一、数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么【1】Read Uncommitted(读取未提交内容):出现脏读,也就是可能读取到其他会话中未提交事务修改的数据。【2】Read Committed(读取已提交内容):不可重复读,只能读取到已经提交的数据。Oracle 等数据库默认的隔离级别。【3】Repeatable Read(可重复读):出现幻读。在同一个事...原创 2020-03-04 22:16:18 · 299 阅读 · 0 评论 -
Java面试---SQL语句题
一、行转列问题现有表格A,按照以下格式排列;姓名 收入类型 收入金额 Tom 年奖金 5w Tom 月工资 10k Jack 年奖金 8w Jack 月工资 12k 先需要将表格转化为:姓名 月工资 年奖金 Tom 10k 50k Jack 12k 80k ...原创 2020-03-03 17:03:41 · 493 阅读 · 0 评论 -
MySQL慢查询优化
MySQL索引原理及慢查询优化一个慢查询引发的思考select count(*) from task where status=2 and operator_id=20839 and operate_time>1371169729 and operate_time<1371174603 and type=2;这种情况完全可以建一个联合索引,因为是最左前缀匹配,所以operate_time需要放到最后索引原理除了词典,生活中随处可见原创 2021-03-13 18:55:57 · 619 阅读 · 0 评论 -
数据库事务隔离级别以及锁的使用
数据库为了维护事务的几种性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。一次封锁or两段锁?因为有大量的并发访问,为了预防死锁,一般应用中推荐使用一次封锁法,就是在方法的开始阶段,已经预先知道会用到哪些数据,然后全部锁住,在方法运行之后,再全部解锁。这种方式可以有效的避免循环死锁,但在数据库中却不适用,因为在事务开始阶段,数据库并不知道会用到哪些转载 2021-03-13 18:40:15 · 311 阅读 · 0 评论 -
MySQL多种索引引擎详解
一. 存储引擎1. 什么是存储引擎?与其他数据库例如Oracle 和SQL Server等数据库中只有一种存储引擎不同的是,MySQL有一个被称为“Pluggable Storage Engine Architecture”(可替换存储引擎架构)的特性,也就意味着MySQL数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎...原创 2020-04-12 14:27:34 · 887 阅读 · 0 评论