![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 78
J.K.Yang
这个作者很懒,什么都没留下…
展开
-
如何解决数据库主从数据不一致的问题
数据库集群架构目前流行的数据库集群架构包括以下三点:一主多从:高可用方案,主库挂掉,从库会变成主库;读写分离:减少单机数据库压力,主库提供写服务,从库提供读服务;主从同步:为了保证一致性,从库会实时与主库同步数据,但是会有延迟。可能会产生的问题同步延迟可能会导致主从数据不一致。例如:主库正在进行写操作,从库同时也正在读操作,但此时从库还未同步到主库的最新数据,导致从库读到脏数据。如何解决忽略:在业务不保证数据强一致性的情况下,可以选择忽略(技术永远是为业务提供服务的!);强制性读写主库:原创 2021-01-23 16:03:12 · 4327 阅读 · 4 评论 -
SQL慢的原因
读操作慢在大部分的项目中,对于数据库的读操作是要比写操作多的,所以首先来谈一下读操作慢的原因。如何定位慢SQLMySQL中有慢查询日志,默认是关闭的,需要手动打开。1.查询慢日志是否开启mysql> show variables like '%slow_query_log%';OFF 为关闭 ON为开启2.开启慢查询日志mysql> set global slow_query_log='ON';这种方式只对当前数据库生效,MySQL重启后则会失效。如果要永久生效,就必须修改原创 2021-01-16 13:47:13 · 590 阅读 · 0 评论 -
数据库大表优化
单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万级以下是没有太大问题的。字段:1.尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED2.VARCHAR的长度只分配真正需要的空间3.使用枚举或整数代替字符串类型4.尽量使用TIMESTAMP而非DATETIME,5.单表不要有太多字段,建议在20以内6.避免使用NUL原创 2021-01-10 15:39:24 · 490 阅读 · 2 评论 -
数据库事务
事务是逻辑上的⼀组操作,要么都执⾏,要么都不执⾏事务的四大特性(ACID)原⼦性(Atomicity): 事务是最⼩的执⾏单位,不允许分割。事务的原⼦性确保动作要么全部完成,要么完全不起作⽤;⼀致性(Consistency): 执⾏事务前后,数据保持⼀致,多个事务对同⼀个数据读取的结果是相同的;隔离性(Isolation): 并发访问数据库时,⼀个⽤户的事务不被其他事务所⼲扰,各并发事务之间数据库是独⽴的;持久性(Durability): ⼀个事务被提交之后。它对数据库中数据的改变是持久的原创 2021-01-09 19:48:12 · 95 阅读 · 0 评论