![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
总结一些数据库的基础知识
小锋coding
这个作者很懒,什么都没留下…
展开
-
char与varchar详解
varchar会有内存碎片问题(比如把200长度更新为50),如果一个行占用的空间增长,并且在页内没有更多的空间可以存储,在这种情况下InnoDB需要分裂页来使行可以放进页内,这样会增加碎片。内存碎片容易造成空间浪费和磁盘IO读写性能下降,因为数据更加随机分散。char的检索效率会更高原创 2022-09-17 14:48:01 · 1792 阅读 · 1 评论 -
mysql delete&truncate异同
都是只删数据不删表结构### 2、不同点- truncate和drop一样是DDL,删除立即生效,元数据不会放到rollback segment中,不能回滚和触发trigger- truncate通过释放数据页来删除数据,并在事务日志页标记页的释放;delete每删除一行就写入事务日志- truncate比delete速度更快,使用的系统和事务日志资源少。...原创 2021-04-11 18:51:47 · 100 阅读 · 0 评论 -
数据库的部分依赖,完全依赖,传递依赖以及三种范式
第一范式1NF:列不可再分第二范式2NF:可唯一标识一行,如主键id(消除部分依赖)第三范式3NF: 不存在传递依赖,即不依赖于非主属性。(消除传递依赖)注意每个范式都满足前面的范式。部分依赖 :X->Y,存在X’是X的非空子集,X’->Y完全依赖:X->Y,不存在X’是X的非空子集,X’->Y传递依赖:X->Y(Y!->X),Y->Z参考...原创 2022-03-25 11:18:00 · 6253 阅读 · 0 评论 -
MySQL搭建主从复制
MySQL 复制的有点主要包含以下三个方面:主库出现问题,可以快速切换到从库提供服务。可以在从库上执行查询操作,从主库中更新,实现读写分离,降低主库的访问压力。可以在从库中执行备份,以避免备份期间影响主库的服务。3.4 搭建步骤3.4.1 master1) 在master 的配置文件(/usr/my.cnf)中,配置如下内容:#mysql 服务ID,保证整个集群环境中唯一server-id=1#mysql binlog 日志的存储路径和文件名log-bin=/var/lib/mys原创 2022-04-06 17:50:34 · 1642 阅读 · 0 评论 -
ddl和dml
ddl:数据定义语言,比如建表删表创建索引。会饮食的将当前会话隐式提交。因为他很重要。dml:数据操纵语言,比如增删改原创 2022-03-24 23:14:55 · 506 阅读 · 0 评论 -
MySQL聚簇索引和非聚簇索引(二级索引) B+树 数据页(索引页)
对于Inndb来说,判断是否是聚簇索引,看B+树是否存放完整的数据就行。对于MyISAM来说,全部都是非聚簇索引,即二级索引。因为它的所有和树是分开的。注意:下面都是针对InnoDB聚簇索引:所有完整的用户记录都存放在B+树(索引)的叶子结点上对于InnoDB来说,索引即数据,数据即索引。如何理解?因为InnoDB根据索引的顺序对用户数据(MySQL表每一行完整的数据)进行排列,组织成为一个B+树,而这个B+也是实际存储用户完整数据的方式。如果有设置主键,那么主键索引就是聚簇索引。如果没有主键,原创 2022-03-27 23:04:53 · 1782 阅读 · 0 评论 -
数据库模式 内模式 概念模式(模式)外模式
外模式:外模式又叫子模式或用户模式,对应用户级,用户能看到的数据库和视图,跟具体的程序或项目有关,可用DML来操作。概念模式:概念又叫模式,对应概念级,所有用户的公共视图(全局视图),可用数据定义语言DDL来定义。内模式:内模式对应物理级,数据在物理介质的存储方式和存储结构三层模式作用:同个不同层次划分,可以达到解耦的目的。用户根据外模式进行数据操作,定义和建立与概念模式的映射,当修改概念模式的时候,只需改变映射,让外模式保持不变。同理,当内模式及存储结构发生改变时,只需改变概念模式与内模式原创 2022-03-25 10:59:00 · 8345 阅读 · 0 评论 -
mysql explain 分析执行计划参数详解
通过 EXPLAIN或者 DESC命令获取 MySQL如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序。查询SQL语句的执行计划 :字段含义id select查询的序列号,是一组数字,表示的是查询中执行select子句或者是操作表的顺序。select_type 表示 SELECT 的类型,常见的取值有 SIMPLE(简单表,即不使用表连接或者子查询)、PRIMARY(主查询,即外层的查询)、UNION(UNION 中的第二个或者后原创 2022-05-16 21:27:07 · 392 阅读 · 0 评论 -
com.taobao.tddl.dbsync.binlog.LogDecoder - Skipping unrecognized binlog event Unknown from: master-b
com.taobao.tddl.dbsync.binlog.LogDecoder - Skipping unrecognized binlog event Unknown from: master-bin.000008:13903可以考虑调低一下日志级别疯狂刷这个报错,事实证明,这个找不到解决办法,但是不影响使用,先不管了。...原创 2022-04-13 22:25:45 · 3499 阅读 · 3 评论 -
Seata AT模式所需的表global_table、branch_table 、lock_table和undo_log
Seata所需的表global_table、branch_table 、lock_table、undo_log一、seata-tc服务器分别是分支事务表和全局事务表seata如何防止脏写原创 2022-04-08 16:13:48 · 8953 阅读 · 5 评论 -
canal-adpter启动报错 Could not resolve placeholder
mysql8与es7同步失败 ClientAdapter启动失败报java.lang.IllegalArgumentException: Could not resolve placeholder 'HOSTNAME%%.’ in value "history -a; history -a; printf “\033]0;%s@%s:%s\007” "USER""{USER}" "USER""{HOSTNAME%%.}" “KaTeX parse error: Expected '}', got '#'原创 2022-04-14 15:45:31 · 1240 阅读 · 0 评论 -
MySQl Mybatis-plus读写分离实现(多主多从) 完整代码
MySQl读写分离实现(多主多从) 完整代码,基于SpringBoot,MyBatis(MyBaties-plus)实现核心思想:继承AbstractRoutingDataSource并替换默认实现,重写determineCurrentLookupKey,实现数据源动态获取。利用AOP思想,拦截Dao层的方法,根据名称动态切换详细步骤及代码编写核心配置类@Configuration@EnableConfigurationProperties(DataSourceProperties.cla原创 2022-04-19 15:53:37 · 1364 阅读 · 0 评论