mysql
文章平均质量分 88
缘来如此09
度,恒
展开
-
数据库与缓存数据一致性方法总结
一、背景工作中我们经常会有以下的场景(1)先查缓存,缓存有数据就直接返回(2)缓存没数据就查数据库,数据库有数据返回,并且将数据写入缓存(3)数据库也没有数据就返回空如果只是简单的查询和新增但是这个流程存在几个问题(1)如果需要更新缓存中的数据,更新失败,...原创 2021-11-08 17:18:20 · 230 阅读 · 0 评论 -
mysql--乐观锁与悲观锁
先看下之前关于mysql锁的介绍https://blog.csdn.net/zhang09090606/article/details/117105987一、简介:从之前的文章中我们了解到mysql锁按使用方式可以分为乐观锁和悲观锁,也不仅仅是mysql几乎所有涉及锁的地方都分为乐观锁和悲观锁,比如java的lock和cas、synchronized的锁升级、redis的watch乐观锁和Lua脚本实现悲观锁等等,下面将会详细介绍下mysql的乐观锁与悲观锁二、悲观锁悲观锁(Pessimis原创 2021-10-17 14:24:13 · 256 阅读 · 0 评论 -
mysql--执行计划及sql优化
一、如何查看执行计划MySQL 使用explain + sql 语句查看 执行计划,该执行计划不一定完全正确但是可以参考。以这条sql为例SELECT * FROM `dy_push_source` where hotel_id = '60255778'执行计划:二、执行计划字段说明1.select_type查询数据的操作类型SIMPLE 简单查询 PRIMARY 最外层查询 SUBQUERY 映射为子查询 DERIVED 子查询..原创 2021-10-12 11:19:57 · 503 阅读 · 1 评论 -
分布式事务
一、事务的特性事务具有四个特征,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称为事务的 ACID 特性1.原子性原创 2021-06-01 08:43:17 · 154 阅读 · 0 评论 -
mysql--事务详解
一、简介事务(Transaction)是数据库区别于文件系统的重要特性之一。在文件系统中,如果正在写文件,但是操作系统突然崩溃了,这个文件就很有可能被破坏。当然,有一些机制可以把文件恢复到某个时间点。不过,如果需要保证两个文件同步,这些文件系统可能就显得无能为力了。例如,在需要更新两个文件时,更新完一个文件后,在更新完第二个文件之前系统重启了,就会有两个不同步的文件。 这正是数据库系统引入事务的主要目的 ∶ 事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保要么所有修改都已经原创 2021-05-28 09:07:08 · 126 阅读 · 0 评论 -
mysql--锁
一、简介锁是数据库系统区别于文件系统的一个关键特性。锁机制用于管理对共享资源的并发访问。InnoDB 存储引擎会在行级别上对表数据上锁,这固然不错。不过 InnoDB存储引擎也会在数据库内部其他多个地方使用锁,从而允许对多种不同资源提供并发访问。例如,操作缓冲池中的LRU列表,删除、添加、移动LRU 列表中的元素,为了保证一致性,必须有锁的介入。数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。 另一点需要理解的是,虽然现在数据库系统做得越来越类似,但是有多少种数据库,就可能有原创 2021-05-27 09:00:35 · 165 阅读 · 0 评论 -
mysql--索引
一、简介索引是应用程序设计和开发的一个重要方面。若索引太多,应用程序的性能可能会受到影响。而索引太少,对查询性能又会产生影响。要找到一个合适的平衡点,这对应用程序的性能至关重要。二、InnoDB常见索引1.哈希索引前面的文章已经提到过,InnoDB 存储引擎支持的哈希索引是自适应的,InnoDB 存储引擎会根据表的使用情况自动为表生成哈希索引,不能人为干预是否在一张表中生成哈希索引。2.B+树索引(转载https://www.cnblogs.com/nullzx/p/8729425.ht原创 2021-05-21 08:27:36 · 191 阅读 · 0 评论 -
mysql--表详解
一、索引组织表:在 InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(index organized table)。在 InnoDB 存储引擎表中,每张表都有个主键(Primary Key),如果在创建表时没有显式地定义主键,则 InnoDB 存储引擎会按如下方式选择或创建主键∶(1)首先判断表中是否有非空的唯一索引(Unique NOT NULL),如果有,则该列即为主键。(2) 如果不符合上述条件,InnoDB 存储引擎自动创建一个6字节大小的指针。当原创 2021-05-15 13:00:56 · 1130 阅读 · 0 评论 -
mysql--文件类型
一、参数文件当 MySOL 实例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等。参数类型可以分为动态和静态两种,动态参数意味着可以在 MySOL 实例运行中进行更改,静态参数说明在整个实例生命周期内都不得进行更改,就好像是只读的二、日志文件1.错误日志错误日志文件对 MySQL的启动、运行、关闭过程进行了记录。MySOL DBA 在遇到问题时应该首先查看该文件以便定位问题。该文件不仅记录了所有的.原创 2021-05-15 10:55:10 · 445 阅读 · 0 评论 -
mysql--InnDB存储引擎详解
一、概述InnDB存储引擎是MySQL 5.5 版本开始是默认的表存储引擎(之前的版本 InnoDB存储引擎仅在 Windows 下为默认的存储引擎)。该存储引擎是第一个完整支持 ACID 事务的 MySQL 存储引擎,其特点是行锁设计、支持 MVCC、支持外键、提供一致性非锁定读,同时被设计用来最有效地利用以及使用内存和 CPU。二、InnDB体系架构InnoDB存储引擎有多个内存块,可以认为这些内存块组成了一个大的内存池,负责如下工作∶(1)维护所有进程/线程需要访问的多个内部数据结构。原创 2021-05-14 08:40:53 · 429 阅读 · 3 评论 -
mysql--存储引擎简介
一、概述MySQL 数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。MySQL 插件式的存储引擎架构提供了一系列标准的管理和服务支持,这些标准与存储引擎本身无关,可能是每个数据库系统本身都必需的,如 SQL 分析器和优化器等,而存储引擎是底层物理结构的实现,每个存储引擎开发者可以按照自己的意愿来进行开发。存储引擎的好处是,每个存储引擎都有各自的特点,能够根据具体的应用建立不同存储引擎表。对于开发人员来说,存储引擎对其是透明的,但了解各种存储引擎的区别对于开发人员来说也是有好处的,接下来原创 2021-05-11 08:57:31 · 97 阅读 · 1 评论