随笔分类 -  数据库

摘要:delete/truncate/drop,其中delete是数据操作语言。后两个是数据定义语言,执行后会自动提交。delete和truncate只删除数据不会删除表的结构,而drop将删除表的结构被依赖的约束、触发器、索引。 where 和having作用的对象不同,一个作用于表和视图,一个作用于组 阅读全文
posted @ 2022-04-04 15:11 花与不易 阅读(21) 评论(0) 推荐(0) 编辑
摘要:一、乐观锁 认为对同一个数据的并发操作,不会造成冲突。在事务要提交更新的时候,才会对数据进行冲突校验。 第一次读的时候,获取到某个字段值,如版本或时间戳。处理完业务逻辑要开始更新的时候,需要再次查看这个字段是不是和第一次一样。如果一样就更新,反之拒绝。 可以使用数据版本记录机制或时间戳实现。 经典应 阅读全文
posted @ 2022-04-01 21:00 花与不易 阅读(150) 评论(0) 推荐(0) 编辑
摘要:MySQL端口号3306,redis6379 为什么redis可以是单线程? 单线程的epoll可能会被卡在数据库查询、写日志这种耗时的操作上。 redis是工作在内存上,纯内存的不需要考虑有没有数据库、日志、磁盘操作、网络操作、外界请求啥的。 redis是内存数据库、KV数据库、数据结构数据库。它 阅读全文
posted @ 2022-03-11 22:17 花与不易 阅读(75) 评论(0) 推荐(0) 编辑
摘要:多用户共享资源,出现并发访问的时候,需要合理控制资源的访问规则。锁就是用来实现这些访问规则的重要数据结构。 根据加锁的范围,锁可以大致分成全局锁、表级锁、行锁。 (1)全局锁就是对整个数据库实例加锁。 业务的更新不只是增删改数据DML,还有可能是加字段等修改表结构的操作DDL。 全局读锁,使用Flu 阅读全文
posted @ 2022-03-08 16:26 花与不易 阅读(311) 评论(0) 推荐(0) 编辑
摘要:如果SQL查询比较慢,就会要给字段加索引。索引就像书的目录,可以提高查询效率。 索引的优点:加快查找的速度,加快分组和排序字段的速度,加快表和表之间连接的速度。 缺点:耗费空间,而且增删改的时候还要动态维护索引耗费时间。 索引的作用:数据是存在磁盘的,如果没有索引,查找的时候要把所有数据都一个一个放 阅读全文
posted @ 2022-03-08 15:02 花与不易 阅读(150) 评论(0) 推荐(0) 编辑
摘要:事务是访问并更新数据库各种数据项的一个程序执行单元,可以是一条语句,也可以是一组语句。 ACID(原子性、一致性、隔离性、持久性) 原子性:其中的操作要么都做,要么都不做。undolog(rollback)要么都执行要么都不执行。 一致性:满足某个状态,数据就是一致的。不满足某个状态,数据就是不一致 阅读全文
posted @ 2022-03-06 20:44 花与不易 阅读(47) 评论(0) 推荐(0) 编辑
摘要:数据库设计三大范式: (1)确保数据库表字段的原子性,即字符不可再分性。 (2)一个表必须有主键,非主键列必须完全依赖于主键,不能部分依赖。 (3)非主键必须直接依赖于主键,不能间接依赖。 bin log二进制日志,redo log重做日志(持久性),undo log回滚日志(原子性)。二进制日志会 阅读全文
posted @ 2022-03-03 15:44 花与不易 阅读(420) 评论(0) 推荐(0) 编辑

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