mysql
文章平均质量分 95
mysql相关知识
slagsea
一个热爱编程的渣渣屌丝
展开
-
MySQL核心原理
文章目录前言简介发展历程MySQL 应用架构演变MySQL 架构原理体系架构运行机制存储引擎InnoDB存储结构内存结构1)Buffer PoolPage管理机制改进型LRU算法维护Buffffer Pool配置参数2)Change Buffffer3)Adaptive Hash Index4)Log Buffffer磁盘结构InnoDB线程模型IO ThreadPurge ThreadPage Cleaner ThreadMaster ThreadInnoDB数据文件Row行格式Undo Log作用Red原创 2021-10-04 00:59:10 · 1436 阅读 · 0 评论 -
Mybatis核心原理
简介Mybatis是一款流行的持久层框架,基于ORM(Object-Relation Mapper)思想,对针对JDBC的封装,通过xml配置支持灵活复杂的SQL查询。框架组件架构图Mybatis核心成员数据流核心成员说明核心成员功能说明Configuration保存MyBatis大部分配置信息SqlSessionMyBatis主要的顶层API,与数据库交互,实现数据库增删改查功能。ExecutorMyBatis 调度器,负责SQL语句的生成和查询缓存的维护原创 2021-07-18 23:00:48 · 4025 阅读 · 12 评论 -
SQL的基础知识
系列文章目录提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录SQL基础操作1 前言2 概述2.1 创建和操纵表2.1.1 创建表语法2.1.2 更新表2.1.3 重命名表2.1.4 删除表2.2 检索数据2.2.1 检索单列2.2.2 检索多列2.2.3 检索所有列2.2.4 检索不同值2.2.5 限制结果2.3 数据排序2.4 过滤数据2.4.1 使用**where**子句2.4.2 where子句操作符2.4.3 使用通配符进行过滤2.5 创建计算字段2.5.原创 2020-10-07 13:58:14 · 1369 阅读 · 1 评论 -
SQL优化建议30条
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is nu...转载 2019-02-27 13:30:36 · 6969 阅读 · 0 评论 -
数据库锁简介
在一些面试和书籍上经常会提到各种数据库锁以及事务,在这里结合一些资料简要概括下: 数据库并发需使用事务来控制,事务并发问题需要数据库锁来控制,数据库锁是跟并发控制和事务联系在一起的。事务:必须满足:ACID(原子性,一致性,隔离性,持久性)四特性,事务是恢复和并发控制的基本单位。 原子性:是事务是数据库的逻辑工作单位,事务中操作要么都做,要么都不做。 ...原创 2019-01-17 00:15:56 · 7238 阅读 · 0 评论 -
SQL优化
在应用的的开发过程中,由于初期数据量小,开发人员写SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL 语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的SQL 语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化,本章将详细介绍在MySQL 中优化SQL 语句的方法。一、优化SQL 语句的一般步骤 当面...原创 2019-01-05 15:10:51 · 8377 阅读 · 0 评论 -
事务的隔离级别
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...转载 2019-01-10 13:27:12 · 6392 阅读 · 0 评论 -
MyISAM与InnoDB的区别
1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。2、InnoDB:支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。如果有大量的update和i...转载 2018-12-24 12:03:35 · 6099 阅读 · 0 评论 -
聚簇索引与非聚簇索引
以mysql为例子,可以说数据库必须有索引,没有索引则检索过程变成了顺序查找,O(n)的时间复杂度几乎是不能忍受的。我们非常容易想象出一个只有单关键字组成的表如何使用B+树进行索引,只要将关键字存储到树的节点即可。当数据库一条记录里包含多个字段时,一棵B+树就只能存储主键,如果检索的是非主键字段,则主键索引失去作用,又变成顺序查找了。这时应该在第二个要检索的列上建立第二套索引。 这个...转载 2018-12-24 11:36:39 · 6066 阅读 · 0 评论 -
B树和B+树的区别
B树和B+树听过最多的是应用在数据库索引上,说简单就是一种m叉多路平衡查找树。这里采用M叉而不是二叉的原因是因为要考虑磁盘IO的影响,它相对于内存来说是很慢的。数据库索引是存储在磁盘上的,当数据量大时,就不能把整个索引全部加载到内存了,只能逐一加载每一个磁盘页(对应索引树的节点),以此方式减少IO次数。对于树来说,IO次数就是树的高度,而“矮胖”就是b树的特征之一,它的每个节点最多包...原创 2018-12-22 00:00:08 · 6277 阅读 · 0 评论