
数据库
文章平均质量分 94
数据库
默辨
希望成为一个有思想的软件工程师
展开
-
分布式数据库(二)
控制广播消息的总顺序收集并保存全局状态接收消息,并在节点之间传播和同步它们进行系统重置,一般是在发生故障后、初始化期间,或重要系统状态更新时操作初始化时触发选举,称为首次领导选举当选举出来的领导崩溃不可用时,也会再次出发领导选举安全性:选举必须产生一个领导活跃性:选举必须有结果Bully算法ZABRAFT。原创 2024-12-08 16:55:51 · 741 阅读 · 0 评论 -
分布式数据库(一)
像Google Spanner和TiDB这样的Distributed SQL数据库崛起,NewSQL数据库的地位收到了进一步的挑战NewSQL更像是用户侧的狂欢,它可以解决一类问题,但并不完备,需要小心评估和使用,Distributed SQL数据库使用的是特殊的底层存储引擎,来构建水平可伸缩的数据库。一致且容忍分区的系统,更倾向于减少服务时间,而不是将不一致的数据提供出去,一些面相交易场景构建的NewSQL数据库,如TiDB、PolarDB,倾向于这种策略,会生成自己的A,即可用性很高。原创 2024-12-08 16:40:55 · 1375 阅读 · 0 评论 -
浅谈如何设计MySQL索引
文章目录一、索引的代价二、如何设计索引1、索引列的类型尽量小2、索引的选择离散性高的3、只为用于搜索、排序或分组的列创建索引4、主键选择少改变的列5、处理冗余和重复索引6、删除未使用的索引7、总结三、索引设计——三星索引一、索引的代价空间上的代价:每建立一个索引都要为索引构建一棵B+树,每一棵B+树的每一个节点都是一个数据页,一个页默认会占用16KB的存储空间,一棵很大的B+树由许多数据页组成会占据很多的存储空间。时间上的代价:每次对表中的数据进行增、删、改操作时,都需要去修改索引涉及的B+原创 2021-12-22 00:05:42 · 1868 阅读 · 0 评论 -
InnoDB存储引擎相关问题整理
文章目录一、为什么MySQL要使用InnoDB做为其存储引擎二、为什么InnoDB表必须要有主键,且建议使用整形的自增主键三、聚簇索引和非聚簇索引四、联合索引五、Hash索引一、为什么MySQL要使用InnoDB做为其存储引擎1、解释InnoDB存储引擎的底层结构为B+树的特点1、B+树的基本数据结构:B+树为有序数组链表+平衡多叉树(解释)2、B+树的数据结构是怎样:根节点存索引;叶子节点存索引和数据;所有的数据都存放在叶子节点上;子节点一定包含其对应父节点的所有信息;叶子节点之原创 2021-12-10 00:25:47 · 1495 阅读 · 0 评论 -
浅谈InnoDB存储引擎的MVCC机制
文章目录一、数据库事务隔离级别1、事务原则2、4种隔离级别3、会出现的3种问题二、MVCC概念1、基本结构2、字段介绍3、read-view4、MVCC机制理解一、数据库事务隔离级别1、事务原则事务需要满足ACID原则:原子性A一致性C隔离性I持久性D本文的数据库隔离界别概念就是在讨论隔离性(Isolation),如果保证不同事务在操作数据库的时候能产生良好的隔离性,继而更好的符合对应的原则。2、4种隔离级别隔离性就是保证事务在不受外部并发操作的影响,始得每一个事务的运原创 2021-09-05 23:07:13 · 272 阅读 · 0 评论 -
Explain执行计划详解
文章目录1、概述2、作用3、字段详解3.1、id3.2、select_type3.3、table3.4、partitions3.5、type3.6、possible_keys3.7、key3.8、key_len3.9、ref3.10、rows3.11、filtered3.12、Extra我的MySQL版本为5.7,不同版本结果可能略有差异官方文档地址:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html1、概述用 EXPLA原创 2021-01-10 22:11:10 · 844 阅读 · 0 评论 -
MySQL(三)
本文为侧重MySQL优化优化部分。关于函数、存储过程、视图、触发器、索引结构等知识点并未涉及,希望对你有帮助!!!文章目录一、MySQL的架构介绍1.1、MySQL简介1.2、MySQL配置文件1.3、MySQL逻辑架构介绍1.4、MySQL存储引擎二、索引优化分析2.1、查询性能下降原因2.2、常见通用的join查询2.3、索引简介2.4、性能分析三、查询截取分析3.1、查询优化3.2、慢查询日志3.3、Show Profile四、MySQL锁机制4.1、概述4.2、三锁五、主从复制5.1、复制的.原创 2020-12-27 05:04:54 · 249 阅读 · 0 评论 -
数据库乐观锁+自旋锁的简单代码实现
在看这篇博客以前,我希望你对数据库悲观锁和乐观锁有一个基本的概念,对于这两个概念还比较陌生的小伙伴,可以查看我另一篇博客。希望对你有帮助!浅谈InnoDB存储引擎下锁的分类无锁、偏向锁、轻量级锁、重量级锁,完整的锁升级!synchronized锁升级包含了Java实现的乐观锁和悲观锁,建议学习。笔者以为,锁细化出的悲观锁和乐观锁,用于在并发场景下在,在并发量和数据安全上的一个折中考虑。根据实际的业务场景,根据锁的不同特性选择不同的处理方式,往往能取得事半功倍的效果。文章目录1、乐观锁部分原创 2020-12-09 23:40:28 · 1078 阅读 · 0 评论 -
浅谈InnoDB存储引擎下锁的分类
笔者思考:在我看来,细化的锁知识,是为了应付并发场景下可能会出现的数据问题、效率问题。正是为了追求效率的最大化(并发量的最大化),才将原本一个个简单粗暴的锁,改良为一个个精良的锁。以至于出现了越来越多的知识点。这不禁让我联想到了算法,暴力破解依然可以解决问题,但是它不够漂亮、不够优美,于是衍生出了许多特定算法。相比较于工作中的拿来主义、开箱即用,我更倾向于将编程之美理解为用代码设计出优美、精良的东西,尽管我也知道我目前的能力还不足以达到这样的目的…文章目录一、行级别1、共享锁/S锁/读锁(Sh.原创 2020-11-22 18:59:16 · 458 阅读 · 0 评论 -
MySQL与Oracle的DDL、DML语法对比(含可重复执行SQL脚本编写方式)
MySQL和Oracle的DDL、DML语法对比文章目录MySQL和Oracle的DDL、DML语法对比DML(数据内容)DDL(表的格式)可重复执行SQL脚本补充DML(数据内容)Oracle-- 1、插入数据,插入数据时字段名可以使用双引号(MySQL不行)INSERT INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, COLUMN4, COLUMN5) VALUES ('VALUE1','VALUE2','VALUE3',NULL, 'VA原创 2020-10-19 14:09:49 · 1147 阅读 · 0 评论 -
Oracle的一些简单用法
文章目录1、Oracle 11g 数据库支持中文的逗号2、获取Oracle数据库的版本号3、REGEXP_SUBSTR函数的使用(regexp_substr)4、replace的使用5、字符和日期类之间的转换6、获取当前是星期几7、使用to_char获取对应的星期格式8、connect by9、union和union all的区别10、group by1、Oracle 11g 数据库支持中文的逗号2、获取Oracle数据库的版本号--第一张图SELECT * FROM V$VERSION;原创 2020-08-26 14:38:18 · 488 阅读 · 0 评论 -
Oracle(二)
文章目录8、常见函数8.1、字符类函数8.2、数字类函数8.3、日期函数9、事务10、视图索引10.1、视图10.2、索引11、存储过程11.1、PL/SQL语句(过程化语言的语句)11.2、条件语句11.3、循环语句8、常见函数字符串函数数字类函数日期和时间类函数8.1、字符类函数处理字符的函数1、ASCII(‘c’) 和CHR(num)ASCII©:返回一个字符的ASCII码,其中c表示一个字符CHR(i):返回给出ASCII码值所对应的字符,i表示以恶搞A原创 2020-08-23 19:16:24 · 723 阅读 · 0 评论 -
Oracle(一)
文章目录1、Oracle简介1.1、Oracle公司发展历史1.2、Oracle几个重要的版本2、Oracle安装和配置2.1、安装Oracle数据库2.2、卸载Oracle数据库2.3、Oracle中主要系统服务的作用3、Oracle基本概念3.1、Oracle相关术语3.2、Oracle基本使用3.3、简单函数3.4、SQL语言的特点3.5、SQL语言的分类4、数据库定义语言(DDL)4.1、数据类型4.2、创建表4.3、复制表4.4、删除表4.5、修改表4.6、查找表4.7、还原表4.8、维护表(字段原创 2020-08-19 23:10:36 · 2036 阅读 · 1 评论 -
Oracle 11g及PLSQL可视化界面的安装与使用(内附软件)
文章目录Oracle 11g的安装与使用1、安装Oracle 11g服务端2、安装Oracle 11g客户端3、安装PLSQL可视化工具软件安装包百度云链接提取码:rr49Oracle 11g的安装与使用1、安装Oracle 11g服务端1、准备对应的安装包2、将三个文件进行解压操作解压完以后是这样的两个文件,因为database_1of2和database_2of2他们的文件夹是重复的3、服务端的安装,点击进入database文件夹4、选择setup.exe可执原创 2020-07-26 14:53:53 · 8430 阅读 · 5 评论 -
MySQL(二)
文章目录5、MySQL函数5.1、常用函数5.2、聚合函数5.3、数据库级别的MD5加密6、事务6.1、概述6.2、使用7、索引7.1、索引分类7.2、索引原则8、权限管理和备份8.1、用户管理8.2、MySQL备份9、规范数据库设计9.1、为什么需要设计数据库9.2、三大范式10、JDBC(重点)10.1、数据库驱动10.2、JDBC10.3、第一个JDBC程序10.4、statement对象1...原创 2020-04-26 19:08:39 · 334 阅读 · 0 评论 -
MySQL(一)
文章目录1、初始MySQL1.1、概述1.2、数据库分类1.3、MySQL安装1.4、安装可视化工具1.5、相关的SQL语句2、操作数据库2.1、操作数据库2.2、数据库与的列类型2.3、数据库的字段属性2.4、创建数据库表2.5、数据表的类型2.6、修改删除表3、MySQL数据管理3.1、外键(了解)3.2、DML语言(重点)3.3、添加3.4、修改3.5、删除4、DQL(重点)4.1、DQL4...原创 2020-04-23 17:16:22 · 929 阅读 · 0 评论