-
乐观锁、悲观锁和MVCC,今天让你一次搞懂
在数据库的实际使用过程中,我们常常会遇到不希望数据被同时写或者读的情景,例如秒杀场景下,两个请求同时读到系统还有库存1个,然后又先后把库存更新为0,这时候就会出现超卖的情况,这时候货物的实际库存和我们...
-
MySQL存储过程使用解析
mysql存储过程 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。目的是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可...
-
面试官扎心一问:数据量很大,分页查询很慢,有什么优化方案?
准备工作一般分页查询使用子查询优化使用 id 限定优化使用临时表优化关于数据表的id说明 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需...
-
MySQL 中,21 个写 SQL 的好习惯
每一个好习惯都是一笔财富,本文分SQL后悔药, SQL性能优化,SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~ 1. 写完SQL先explain查看执行计划(SQL性能优化)...
-
Redis基础——剖析基础数据结构及其用法
如果你是一个有经验的后端或者服务器开发,那么一定听说过Redis,其全称叫Remote Dictionary Server。是由C语言编写的基于Key-Value的存储系统。说直白点就是一个内存数据库...
-
-
NoSQL数据库的5个陷阱
我录制了一段视频,讲述了NoSQL数据库的优势。 回应很有趣,但是我给人的印象是,并不是每个人都看到硬币的两面。 事实是它们会给我们带来很多问题。 Schema管理 每个NoSQL数据库都以其自己的方...
-
Redis怎么防止数据丢失?可能真是面试必问了!
Redis要想实现高可用,主要有以下方面来保证: 数据持久化 主从复制 自动故障恢复 集群化 这篇文章我们先介绍Redis的高可用保障的基础:数据持久化。 因为Redis的主从复制和自动故障恢复,都需...
-
为什么Redis单线程能支撑高并发?
最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的...
-
好险!一入职,就遇到MySQL这么大Bug!差点背锅走人...
今年这种情况,有时候不找好下家还真不敢跳,这不,前段时间刚跳到新东家,刚办入职那天,就遇上事了,真的是吓出一身冷汗(老大一直盯着我,说要快速解决这个问题),差点被(背)开(锅)了.... 情况如何?且...
