随笔分类 - mysql
摘要:1. EXPLAIN 是什么? MySQL 提供的一个关键字,用于分析查询语句的执行计划。通过执行 EXPLAIN 命令,可以获取查询执行的详细信息,包括使用的索引、表的访问顺序、连接类型和估计的行数等。分析 EXPLAIN 结果可以帮助我们了解查询的性能瓶颈,优化查询语句和索引设计。 下面是分析
阅读全文
摘要:常见的 MySQL 锁类型 MySQL 中有多种类型的锁,用于管理并发访问数据库时的数据一致性和并发控制。以下是: 共享锁(Shared Lock):也称为读锁。多个事务可以同时持有共享锁,并同时读取被锁定的数据,但不能进行写操作。共享锁之间不会互相阻塞,因此多个事务可以并发地持有共享锁。 排他锁(
阅读全文
摘要:1. mysql快照读和当前读是啥含义? 在MySQL中,"快照读"(Snapshot Read)和"当前读"(Current Read)是两种不同的读取数据的方式。 1. 快照读(Snapshot Read):快照读是指在读取数据时使用数据库中某个特定时间点的快照或镜像。这意味着无论其他事务是否正
阅读全文
摘要:详细分析MySQL事务日志(redo log和undo log)
阅读全文
摘要:对于查询处理,可将其分为逻辑查询处理和物理查询处理。逻辑查询处理表示执行查询应该产生什么样的结果,而物理查询代表MySQL数据库是如何得到结果的。 逻辑查询处理 MySQL真正的执行顺序如下: 1.FORM:对FORM子句中的左表< left_table > 和右表 < right_table >执
阅读全文
摘要:0.实验环境 主机IP(Master) 192.168.61.150 centos6.6 从机IP(Slave) 192.168.61.157 centos6.6 1.查看centos系统版本 检测系统是否自带安装MySQL并卸载 2.下载mysql安装包 由于机器没有外网权限,无法使用yum方式安
阅读全文
摘要:1. 加载驱动。 Class.forName("oracle.jdbc.driver.OracleDriver"); (注意:加载驱动在JDBC 4.0中是可以省略的,自动从类路径中加载驱动2. 创建连接。 Connection con = DriverManager.getConnection("
阅读全文
摘要:MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映
阅读全文
摘要:第一方面:30种mysql优化sql语句查询的方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字
阅读全文
摘要:1.查询主流程: a.客户端发送一条查询给服务器 b.服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果,否则进入下一阶段。 c.服务器进行SQL解析,预处理,再由优化器生成对应的执行计划, d.mysql根据优化器生成的执行计划,调用存储引擎的API来执行查询。 e.将结果返回给客
阅读全文
摘要:一、MySql服务器逻辑架构图 每个虚线框都是一层: 第一层:最上层的服务器不是MySql所独有的,大多数基于网络的客户端/服务器工具或者服务都有类似的系统。比如链接处理,授权认证,安全等等。 每个虚线框都是一层: 第一层:最上层的服务器不是MySql所独有的,大多数基于网络的客户端/服务器工具或者
阅读全文
摘要:存储过程说白了就是把经常使用的SQL语句或业务逻辑封装起来,预编译保存在数据库中,当需要的时候从数据库中直接调用,省去了编译的过程.提高了运行速度;同时降低网络数据传输量 1、返回值上的不同存储函数将向调用者返回一个且仅返回一个结果值。存储过程将返回一个或多个结果集(函数做不到这一点),或者只是来实
阅读全文
摘要:0.三大范式及反范式 ◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 ◆ 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 ◆ 第三范式(3NF):首先是 2NF,另外非主键
阅读全文
摘要:1.事务的ACID属性 事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠
阅读全文
摘要:0.索引的概念 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。好比是一本书前面的目录,能加快数据库的查询速度。 无论是Myisam和Innodb引擎,如果在建表的时候没有显示的定义一行主键列的话,他内部都会自动创建一个隐藏的主键索引
阅读全文
摘要:如何选择存储引擎: 如果不在乎可扩展能力和并发能力,也不在乎崩溃后数据的所示问题,却对innoDB的空间占用过多比较敏感,这种场合应该使用MyISAM。否则应该使用InnoDB。如果需要使用在线热备份,需要使用事务的订单类业务,最好使用InnoDB。 1.构成 MyISAM:每个MyISAM在磁盘上
阅读全文
摘要:查看数据库列表:show databases;选中要使用的数据库:use 数据库名;查看数据库中表信息:show tables;查看表结构:desc 表名; 或者 show columns from 表名;查看系统配置参数 SHOW VARIABLES LIKE '***' 1.创建table 2.
阅读全文