随笔分类 -  关系型数据库

摘要:JDBC连接时有个TimeZone配置,这玩意到底有用吗?我是使用Postgresql和Mysql两个数据库验证的。结果如下: 数据库 部署方式 版本 JDBC连接TimeZone参数 JDBC连接serverTimezone参数 总结 Mysql docker 8.0 没用 有用,会使用客户端时区 阅读全文
posted @ 2023-05-24 09:54 马儿跑 阅读(5812) 评论(0) 推荐(1) 编辑
摘要:复合主键: create table index_test ( a int not null, b int not null, c int not null, d int null, primary key (c, a, b) ); 即一个表的主键同时由多个字段共同组成,复合主键索引见【Mysql】 阅读全文
posted @ 2023-04-26 08:12 马儿跑 阅读(130) 评论(0) 推荐(0) 编辑
摘要:复合主键在where中使用查询的时候到底走不走索引呢?例如下表: create table index_test ( a int not null, b int not null, c int not null, d int null, primary key (a, b, c) ); 当执行以下S 阅读全文
posted @ 2023-04-25 15:04 马儿跑 阅读(407) 评论(0) 推荐(0) 编辑
摘要:MySQL默认数据库引擎 事务支持 索引类型 索引数据结构 对锁的支持 使用场景 关于count(*) 外键支持 InnoDB 5.1版本后,是 默认为Read committed 聚集索引,叶子节点直接存储数据;非主键索引先查询主键,数据和主键存储在一起,没有主键时使用第一非空的唯一索引(NOT 阅读全文
posted @ 2023-03-20 15:40 马儿跑 阅读(67) 评论(0) 推荐(0) 编辑
摘要:事务特性 ACID: (1)原子性(Atomicity) 一个事务由一系列操作组成,要么全部生效,要么全不生效,不存在部分生效的情况 (2)一致性(Consistency) 事务执行完成后,需要保证数据一致性,满足业务规则,比如余额不能是负的 (3)隔离性(Isolation) 多个事务对同一数据的 阅读全文
posted @ 2023-02-15 15:12 马儿跑 阅读(134) 评论(0) 推荐(0) 编辑
摘要:什么情况下需要分表呢?分表又能解决什么问题呢? 一般情况下分表的直接原因是数据量太大了,比如一张表一共只有1w条数据,确实没必要分表。为什么数据量大了就需要分表呢?首先得看看数量量过大后会带来什么问题。 以InnoDB为例: 使用的是B+树,聚簇索引。如果数据量过大,可能会导致多一次甚至多次磁盘IO 阅读全文
posted @ 2023-01-16 08:55 马儿跑 阅读(139) 评论(0) 推荐(0) 编辑

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