随笔分类 -  MySQL

MySQL——11、自增主键
摘要:1.1 自增主键 1.1.1 自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 \1) MyISAM引擎的自增值保存在数据文件中,索引是hash表结构 \2) InnoDB引擎的自增值: ​ i. 在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。 每次重启后,第一次打开表的时 阅读全文

posted @ 2021-10-22 10:06 夜萤火虫和你 阅读(390) 评论(0) 推荐(0)

MySQL——3、索引结构
摘要:1.1 索引结构 1.1.1 Mysql索引为什么不用红黑树或者二叉排序树? 根据树的高度有关,B+树是一棵多路搜索树可以降低树的高度,提高查找效率 如果要存储1万条数据,B+树只有一两层,而红黑树有几十层,直接影响数据库查询性能 理解: 答:这个问题是数据结构对比问题,树的查询时间跟树的高度有关, 阅读全文

posted @ 2021-10-21 10:18 夜萤火虫和你 阅读(146) 评论(0) 推荐(0)

MySQL——10、主从延时
摘要:1.1 主从延时 1.1.1 如何查看主从是否延时 可以通过监控 show slave status 命令输出的Seconds_Behind_Master参数的值,来检测主从延时: NULL:表示io_thread或是sql_thread有任何一个发生故障; 0:该值为零,表示主从复制良好; 正值: 阅读全文

posted @ 2021-10-20 10:13 夜萤火虫和你 阅读(549) 评论(0) 推荐(0)

MySQL——9、主从数据一致性问题
摘要:1.1 主从数据一致性问题:半同步复制 使用半同步复制 1.1.1 半同步复制的作用: 1.为了解决主从延迟导致数据丢失的问题 Mysql5.5之前的复制是异步的,主库和从库的数据有一定的延迟,这样就存在一个问题 当主库上写入一个事务并提交成功,而从库尚未收到主库推送的binlog日志,如果此时主库 阅读全文

posted @ 2021-10-19 10:06 夜萤火虫和你 阅读(714) 评论(0) 推荐(0)

Mysql——8、mysql主从
摘要:1 mysql主从 1.1 主从复制原理 默认是异步复制的 1.主库记录binlog日志 在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志binlog中。主库上的sync_binlog参数控制binlog日志刷新到磁盘。 2.从库IO线程将主库的binlog日志,复制到其本地的 阅读全文

posted @ 2021-10-18 10:08 夜萤火虫和你 阅读(537) 评论(0) 推荐(0)

Mysql——7、MySQL锁
摘要:1 MySQL锁 1.1 Mysql锁的类型 innoDB支持三种行锁定方式: 行锁(Record Lock):锁直接加在索引记录上面(无索引项时演变成表锁)。 间隙锁(Gap Lock):锁定索引记录间隙,确保索引记录的间隙不变。间隙锁是针对事务隔离级别为可重复读或以上级别的。 Next-Key 阅读全文

posted @ 2021-10-15 09:59 夜萤火虫和你 阅读(130) 评论(0) 推荐(0)

MySQL——6、分布式事务
摘要:1 分布式事务 事务是作为单个逻辑单元执行的一组操作,要么全部成功,要么全部失败 事务包含四个特性:原子性、一致性、隔离性、持久性 1.1 示例 在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子: 上图中包含了库存和订单两个独立的微服务,每个微服务维护 阅读全文

posted @ 2021-10-14 09:59 夜萤火虫和你 阅读(719) 评论(0) 推荐(0)

MySQL——5、B+树索引
摘要:mysql数据库中的索引是基于hash表或B+树 1.1 *H**ash索引* 哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法,即可立刻定位到相应的位置,速度非常快。 1.1.1 *B+树索引和哈希索引区别* B+树索引 阅读全文

posted @ 2021-10-13 09:57 夜萤火虫和你 阅读(359) 评论(0) 推荐(0)

MySQL——4、sql语句优化
摘要:1.1 *SQL语句优化* 1.1.1 *善用EXPLAIN* 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 •type列: 连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 •key列 阅读全文

posted @ 2021-10-12 09:56 夜萤火虫和你 阅读(72) 评论(0) 推荐(0)

MySQL——3、索引优化
摘要:1.1 *数据库优化之索引* 1.1.1 *定位低效率的SQL语句* 1.1.1.1 *慢日志* 启动log-slow-queries[=file_name]选项,会在所有sql语句执行完成之后,会生成一个包含所有sql语句执行时间,超过long_query_time秒的日志文件 要找出项目中的慢S 阅读全文

posted @ 2021-10-11 10:15 夜萤火虫和你 阅读(202) 评论(0) 推荐(0)

MySQL——2、索引
摘要:1.1 *索引* 索引支持整个列,不支持局部索引 innoDB默认支持btree索引,memory默认支持hash索引 1.1.1 *聚集索引与非聚集索引的区别* 微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclus 阅读全文

posted @ 2021-10-09 10:13 夜萤火虫和你 阅读(84) 评论(0) 推荐(0)

MySQL——1、事务
摘要:1.1 *事务* 1.1.1 *事务四个基本特征或 ACID 特性。* 事务是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。 一个转账必须 A账号扣钱成功,B账号加钱成功,才算正真的转账成功。 事务必须满足四大特征:原子性,一致性,隔离性持久性/持 阅读全文

posted @ 2021-10-08 10:06 夜萤火虫和你 阅读(68) 评论(0) 推荐(0)

导航