1. 引言MySQL官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数表扫描,这样的话查询效率非常低。那么MySQL中索引采用的是那些数据结构?或者说索引实现原理。下面来举例讲解。2. 索引实现原理2.1 方式一:...
原创 2022-03-23 11:27:24
102阅读
1. 引言MySQL官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。白话文:索引就像书的目录一样可以非常快速的定位到书的页码。如果向mysql发出一条sql语句请求,查询的字段没有创建索引的话,可能会导致全表扫描,这样的话查询效率非常低。
原创 2021-07-06 15:43:16
96阅读
1、MySQL在金融互联网行业的企业级安装部署2、mysql启动关闭原理和实战_及常见错误排查3、MySQL字符集和校对规则4、史上最详细的Mysql用户权原理和实战_生产案例5、InnoDB引擎原理和实战_通俗易懂6、MySQL文件详解_物理结构_逻辑结构_原理和案例7、SQL编程开发与优化事项8、MySQL索引原理和案例9、information_schema和sys中
原创 2023-03-20 10:06:38
170阅读
MySQL里面的事务满足ACID的特性(A:atomicity原子性;C:consistency一致性;I:isolation隔离性;D:durability持久性)。MySQL事务的原理就是让InnoDB如何保证ACID的特性(InnoDB:MySQL的默认存储引擎)。首先A表示Atomic,也就是原子性,也就是说,需要保证多个DML操作的原子性,要么都成功,要么都失败,如果失败就意味着要对原本
转载 2023-07-10 15:10:07
62阅读
刚开始接触一个新的事物的时候,我觉得很有必要从其工作原理入手,弄清楚这个东西的来龙去脉,为接下来的继续深入学习做好铺垫,掌握好其原理有助于我们从整体上来把握这个东西,并且帮助我们在排错过程中理清思路。接下来,还是从mysql的工作原理开始入手,下面先来一张经典的图:上面的图就是mysql的内部架构,可以清楚的看到Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的。-+---------
转载 2023-08-30 21:44:20
62阅读
这两天复习了一下JDBC操作MySQL,把crud操作的例子记一下,类库链接(mysql-connector-java-5.1.37-bin.jar):1.1 JDBC概述JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访
转载 2024-08-01 13:45:44
11阅读
咱们用了这么久Mysql数据库做项目,你知道数据是怎么存在数据库里吗?他们是如何存储的吗?今天咱们就来扒一扒Mysql数据库索引的底层实现Mysql数据库的索引是由都是由B+树实现的,那为什么不是其他的数据结构呢,比如二叉树,链表或者数组什么的?今天我们就来一探究竟。0.前提首先要想加快查找的速度,一个不管用什么存储,他的前提是一定要有序的,这个应该理解吧。如果数据的存储是无序的,任何数据类型的
...一. KVO的实现原理面试题:KVO相关: 1. iOS用什么方式来实现对一个对象的KVO?(KVO的本质是什么?) 2. 如何手动出发KVO? 3. 直接修改成员变量会触发KVO么? KVC相关: 1. 通过KVC修改属性会触发KVO么? 2. KVC的赋值和取值过程是怎样的?原理是什么? 复制代码1. 什么是KVO?KVO的全称是Key-Value Observing,俗称"键值监听
转载 2024-01-17 09:20:54
115阅读
目录一、逻辑架构图二、Connectors 三、Management Serveices Utilities四、Connection Pool 连接池五、SQL Interface SQL接口六、Parser 解析器七、Optimizer 查询优化器八、Cache和Buffer 查询缓存九、存储引擎接口十、读写锁十一、锁粒度一、逻辑架构图首先我们用一张图来看了解一下mysql的运行原理
转载 2023-08-08 09:07:31
25阅读
CDC(Change Data Capture)是一种通过监测数据变更(变更包括新增、修改、删除等)而对变更的数据进行进一步处理的一种设计模式,通常应用在数据仓库以及和数据库密切相关的一些应用上,比如数据同步、备份、审计、ETL等。实际上,早在二十多年前,CDC就已经用来将应用系统的数据变更实时发送到数据仓库,进一步转换后传递到数据分析系统,这样能够在极小地影响生产的情况下,有效而及时地将数据传递
网络连接层, 对客户端的连接处理、安全认证、授权等,每个客户端连接都会在服务端拥有一个线程,每个连接发起的查询都会在对应的单独线程中执行。服务器上维护一个线程池,避免为每个连接创建和销毁线程。当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书进行认证。登录认证后,服务器还会验证客户端是否有执行某个查询的操作权限。这一层并不是MySQL所特有的技术。
转载 2023-07-13 06:39:34
9阅读
一、MySQL逻辑架构                                                     &
转载 2023-09-01 20:38:59
25阅读
在实际工作中,我们经常会使用 MySQL 中的LIMIT子句来控制查询返回的数据大小,特别是在分页、性能优化等场景中。这篇文章,我们将深入探讨 MySQL 中LIMIT的实现原理,以及如何在不同场景下有效利用该功能。什么是 LIMIT?LIMIT 是 SQL 查询语句中的子句,用于限制查询结果的行数。在 MySQL 中,LIMIT 子句还可以与offset结合使用,以实现更复杂的应用场景,例如分页
转载 10月前
60阅读
首先什么是MVCC呢?1、MVCC就是一个Mysql多版本并发控制的方法。它是一种并发控制方法,一般在数据库管理系统中,实现数据库的并发访问,在编程语言中实现事务内存。2、①以往最原生的锁就是,把数据锁住,然后不给多个线程去访问它,这种方式是很低效率。     ②后来衍生出了读写锁,读锁和读锁之间不互斥,而写锁和写锁、读锁都互斥。这样就很大提升了系统的并发能力。之后人
转载 2023-08-06 00:49:43
100阅读
目录MySql事务简介ACID简介ACID原理事务隔离级别Mysql的锁机制事务底层实现原理Mysql中什么时候会加锁MVCC(多版本并发控制)原理快照(视图)在MVCC底层工作原理快照遵循原则两个事务执行写操作,如何保证并发MySql事务简介数据库事务是指一组sql语句组成的数据库逻辑单元,在这组的sql操作中,要么全部执行成功,要么全部执行失败;例如:转账,事务A中要进行转账,那么转出的账号要
MVCC(Multi Version Concurrency Control的简称),代表多版本并发控制。与MVCC相对
转载 2022-01-07 13:55:02
10000+阅读
一、简述传统的LRU链表# LRU:Least Recently Used相信大家对LRU链表是不陌生的,它算是一种基础的数据结构吧,而且想必面试时也被问到过什么是LRU链表,甚至是让你手写一个LRU链表。如果你读了上一篇:你有没有搞混查询缓存和BufferPool?谈谈看!想必你已经知道了MySQL的Buffer Pool机制以及MySQL组织数据的最小单位是数据页。并且你也知道了 数据页在Bu
转载 11月前
12阅读
# MySQL 事务实现原理 在数据库管理系统中,事务是一个重要的概念。事务是指一组操作,它们被作为一个整体执行,要么全部成功,要么全部失败。在MySQL中,事务用于确保数据的一致性和完整性,尤其是在多用户同时操作数据库的情况下。 ## 事务的基本特性 事务具有四个基本特性,即ACID特性: 1. **原子性 (Atomicity)**:事务要么完全成功,要么完全失败。 2. **一致性
原创 10月前
22阅读
Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比
锁在日常的开发过程中,为了控制线程的并发肯定会用到锁机制。对于数据库而言,锁机制就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。当然MySQL也不例外,根据不同的存储引擎,MySQL中锁的特性大致归纳为如下: 行锁表锁页锁MyISAM √ BDB √√InnoDB√√√(注:由于BDB已经被InnoDB所取代,我们只讨论
  • 1
  • 2
  • 3
  • 4
  • 5