
MYSQL-数据库设计
文章平均质量分 80
主要讲解如何设计数据库
lovoo
不要抱怨生活,只因你还不够努力!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL中的锁有哪些,作用是什么?
锁最要是用来实现MySQL的隔离性。我们都知道事务有四大特性分别是:原子性、一致性、隔离性、持久性,即所说的ACID。1、原子性:事务中包含有很多操作,这些操作要么全部执行,要么全部不执行,所以支持回滚操作。2、一致性:系统从一种一致性到另一种一致性状态。事物的一致性决定了一个系统设计和实现的复杂度。事务可以具有不同程度的一致性。强一致性:读操作可以立即读到操作的更新操作。弱一致性:提交的更新操作不一定立即会被读操作读到,这种情况会存在一个不一致窗口,指的是读操作可以读到最新值的一段时间。原创 2023-04-28 15:12:33 · 1510 阅读 · 0 评论 -
MySQL的事务原理和实现
事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL支持事务,本文介绍基于MySQL5.6。ACID四个属性,即:1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。如果事务在执行过程中发生错误,事务会被回滚(Rollback)到事务开始前的状态。实现主要基于undo log日志。原创 2023-04-25 15:41:19 · 1393 阅读 · 0 评论 -
为什么MySQL索引更适合B+树而不是二叉树、B树
在当今社会,程序员内卷非常的严重,如果没有过硬的技术,很难在众多的程序员中脱颖而出,例如,以前问数据库方面的知识,只会问些增删改查语句表面的东西,而如今却要问数据库底层的架构、索引原理及引擎等内容,本文就是面试官经常问到的问题:为什么MySQL索引更适合B+树而不是二叉树、B树。要回答这个问题,首先我们得了解什么是B+数、二叉树、B树。B树是一种多路自平衡的搜索树,它类似普通的平衡二叉树,不同的是B树允许每个节点拥有更多的子节点。原创 2023-04-24 17:36:17 · 573 阅读 · 0 评论 -
说说MySQL中MVCC机制的原理
了解了MySql的底层架构后,我们今天要深入了解下什么是MVCC。MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种多并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。我们知道,MySql在5.5后由MyISAM存储引擎改成了InnoDB存储引擎,主要是因为InnoDB是支持事务的,那么当多线程同时执行的时候,可能会出现并发问题。这个时候可能会出现一个能够控制并发的方法,MVCC就起到了这个作用。原创 2023-04-23 22:27:28 · 427 阅读 · 0 评论 -
MySQL架构设计其实很简单
我们很多互联网项目首选的数据库就是MySql5.7,因为免费,支持数据库主从复制,读写分离,且语法简单,容易上手,虽然对sql的函数、触发器、存储过程有一定的了解,也能说出一些优化sql语句的方法,但这些只能说是对MySql的浅薄了解。在当今这个社会,竞争异常的激烈,如果还只停留在表面的CRUD,那么是没有任何优势的,像现在的MySQL面试题,你能答出来吗?说说MySQL中MVCC机制的原理?MySQL的事务原理和实现?MySQL数据主从复制的原理?MySQL底层数据的存储结构?原创 2023-04-22 22:04:41 · 632 阅读 · 0 评论 -
SKU和SPU的区别
1、个人理解:简单地说,SPU就是类,SPU就是对象当前走进小米直营品店时,跟老板说要买小米10,那小米10就是spu,而营业员说你要多少G内存的,什么颜色的小米10,指的就是SKU2、权威解释简介(1) SPU(Standard Product unit): 标准化产品单元(2) SKU(Standard Keeping unit) : 库存产品SPU ------简称 商品,也就是规格与包装举例,例如macbook16 就是一个标准化产品单元。无论选择macbook 16什么颜色,什么原创 2021-06-18 23:06:28 · 944 阅读 · 0 评论 -
使用docker搭建Mycat环境实现Mysql读写分离
一、搭建Mycat环境创建目录并下载安装包mkdir -p /opt/docker/mycatcd /opt/docker/mycatwget http://dl.mycat.org.cn/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz二、在mycat目录下编写DockerfileFROM java:8USER rootCOPY Mycat-server-1.6.7.1-release-2019062719原创 2021-04-06 22:39:29 · 581 阅读 · 0 评论