随笔分类 -  数据库

摘要:什么是读写分离? 读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上。 这样的话,就能够小幅提升写性能,大幅提升读性能。 一般情况下,我们都会选择一主多从,也就是一台主数据库负责写,其他的从数据库负责读。主库和从库之间会进行数据同步,以保证从库中数据的准确性。 如何实现读写分离? 不论是 阅读全文
posted @ 2024-03-09 22:34 balfish 阅读(84) 评论(0) 推荐(0) 编辑
摘要:一 多版本并发控制 (Multi-Version Concurrency Control) 1、读操作(SELECT): 当一个事务执行读操作时,它会使用快照读取。快照读取是基于事务开始时数据库中的状态创建的,因此事务不会读取其他事务尚未提交的修改。具体工作情况如下: 对于读取操作,事务会查找符合条 阅读全文
posted @ 2024-03-05 22:00 balfish 阅读(47) 评论(0) 推荐(0) 编辑
摘要:一 整数类型的 UNSIGNED 属性有什么用? MySQL 中的整数类型可以使用可选的 UNSIGNED 属性来表示不允许负值的无符号整数。使用 UNSIGNED 属性可以将正整数的上限提高一倍,因为它不需要存储负数值。 例如, TINYINT UNSIGNED 类型的取值范围是 0 ~ 255, 阅读全文
posted @ 2024-03-05 19:33 balfish 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一 概述 "事务传播性","事务传播行为类型" 都是面试中问题的问法,看到"事务", "传播"就要想到下面的内容 二 分类 先来看一下Spring中对于事务传播性的几种定义 PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAG 阅读全文
posted @ 2024-02-26 15:24 balfish 阅读(21) 评论(0) 推荐(0) 编辑
摘要:有时候需要索引很长的字符列,这会让索引变得大且慢。通常可以索引开始的部分字符,这样可以大大节约索引空间,从而提高索引效率。但这样也会降低索引的选择性。(索引空间<->索引选择性的冲突, 如何折中选择是本次要讨论的话题)索引的选择性是指不重复的索引值和数据表的记录总数的比值,范围从1/T到1之间。索引 阅读全文
posted @ 2018-05-07 17:15 balfish 阅读(17912) 评论(3) 推荐(2) 编辑
摘要:一 mysql的悲观锁 - 以行锁做示例 每次拿数据的时候都认为别的线程会修改数据,所以每次拿数据的时候都会给数据上锁。上锁之后,当别的线程想要拿数据时,就会阻塞。直到给数据上锁的线程将事务提交或者回滚。传统的关系数据库里面很多用了这种锁机制,比如行锁,表锁,共享锁,排他锁等,都是在做操作之前先上锁 阅读全文
posted @ 2018-03-03 09:27 balfish 阅读(6271) 评论(0) 推荐(0) 编辑
摘要:一 数据库事务的隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,后三个级别可以逐个解决脏读 、不可重复读 、幻读这几类问题。 1. Read UnCommitted( 阅读全文
posted @ 2018-01-16 19:06 balfish 阅读(43171) 评论(5) 推荐(10) 编辑
摘要:一 MyISAM索引实现 1. 主键索引 MyISAM引擎使用B+树作为索引结果,叶节点的data域存放的是数据记录的地址。下图为MyISAM表的主索引,Col1为主键。 2. 辅助索引 在MyISAM中,主索引和辅助索引在结构上没有任何区别,只是主索引要求key是唯一的,而辅助索引的key可以重复 阅读全文
posted @ 2018-01-15 17:08 balfish 阅读(19059) 评论(1) 推荐(7) 编辑
摘要:一 B树的由来 B树指的是一类树,包括B-树,B+树,B*树等,是一种自平衡的搜索树,它类似普通的平衡二叉树,不同的一点是B树允许每个节点有更多的子节点。B树是专门为外部存储器设计的,如磁盘,它对于读取和写入大块数据有良好的性能,所以一般用在文件系统及数据库中 1. 为什么不用二叉平衡树 传统用来搜 阅读全文
posted @ 2018-01-15 16:23 balfish 阅读(935) 评论(0) 推荐(0) 编辑
摘要:一 NULL 为什么这么经常用 (1) java的null null是一个让人头疼的问题,比如java中的NullPointerException。为了避免猝不及防的空指针,需要小心翼翼地各种if判断,麻烦又臃肿. 为此有很多的开源包都有诸多处理 common lang3的StringUtils.i 阅读全文
posted @ 2017-11-27 17:16 balfish 阅读(19129) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示