数据库
文章平均质量分 84
秃头侠客
即使催更,也依然停更
展开
-
保证数据库和缓存的一致性
先更新数据库数据然后删除缓存数据1)删除缓存失败存在脏数据2)难以收拢所有更新数据库入口直接在数据库中修改,缓存不会改变删除缓存数据更新数据库数据等待一小段时间再次删除缓存数据1)延迟时间难以确认到底是延迟一秒或者是几秒,这个其实很难确认,你总不能延迟几分钟吧,因为你如果延迟几分钟,那这几分钟可能就存在脏数据了,所以这个时间很难确定。2)无法绝对保障数据的一致性更新数据库监听binlog删除缓存缓存删除失败则通过MQ不断重试,直至删除成功整体流程图如下:参考如何保障缓存和数据库的一致性(超详细案例)原创 2022-06-21 22:38:01 · 196 阅读 · 0 评论 -
mysql主从同步及其分库分表基本流程
mysql主从同步中设计三个线程(log dump thread,i/o thread,sql thread),两个日志(bin log ,relay log)。主节点 log dump 线程当从节点连接主节点时,主节点会创建一个log dump 线程,用于发送bin-log的内容。在读取bin-log中的操作时,此线程会对主节点上的bin-log加锁,当读取完成,甚至在发动给从节点之前,锁会被释放。从节点I/O线程 当从节点上执行startslave命令之后,从节点会创建一个I/O线程用来连接主节点,原创 2022-06-21 22:29:37 · 502 阅读 · 0 评论 -
使用索引所需要的注意点
文章目录数据库索引创建规则选择怎样列上创建索引数据库索引创建规则1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:A、正确选择复合索引中的主列字段,一般是选择性较好的字段;B、复合索引的原创 2022-04-24 11:51:08 · 1051 阅读 · 0 评论 -
数据库事务
文章目录数据库事务的四大特性:ACID隔离级别及其隔离级别所造成的问题隔离级别隔离级别所造成的问题解决办法oracle和mysql默认隔离级别springboot使用Transactional注解()数据库事务的四大特性:ACID原子性:事务包含的所有数据库操作要么全部成功,要不全部失败回滚一致性:一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这原创 2022-04-14 14:40:26 · 221 阅读 · 0 评论 -
oracle学习笔记
orcal基础知识点原创 2022-03-17 16:00:34 · 1818 阅读 · 0 评论 -
数据库二(请勿观看)
目录表和数据的 创建 删除表的复制数据类型表的修改和删除六大约束标识列(auto_increment自动增长)事务(执行中不可分割)视图等,不想写了表和数据的 创建 删除#group by 与count(*) 分组之后在统计个数SELECT manager_id,COUNT(*)FROM employeesGROUP BY manager_id#三表连接 等值连接SELECT employee_id,department_name,cityFROM departments d,employ原创 2020-09-26 21:44:13 · 317 阅读 · 0 评论 -
SQL数据库之基础函数与查询(一)
目录一 查询1. sql的启动与停止2. 查询基础语句3. 去重(distinct)4. +号功能5. 将多个属性或字段**连接为一个字段**(concat)6. 条件运算符7. 逻辑运算符8. 模糊查询(**like ,between and,in, is null**)常用在where和having中二 函数1.单行函数1.1字符函数1.2数学函数1.3日期函数1.4其他函数1.5流程控制函数分组函数一 查询1. sql的启动与停止```sql启动:net start mysql停止: net原创 2020-09-12 16:44:05 · 1114 阅读 · 0 评论