设计高并发系统数据库层面该如何设计? 数据库锁有哪些类型?如何实现?

200 阅读1分钟


1. 分库分表: 同样量的数据平均存储在不同数据库相同表(或不同表)中,减轻单表压力,如果还是很大,就可以每个库在分多张表,根据hash取值或者其他逻辑判断将数据存储在哪张表中 2. 读写分离: 数据库原本就有主从数据库之分,查询在从服务器,增删改在主服务器, 3. 归档和操作表区分: 建一张归档表,将历史数据放入,需要操作的表数据单独存储 4. 索引啊之类的创建,对于数据量很大,百万级别以上的单表,如果增删改操作不频繁的话, 可以创建bitMap索引,速度要快的多。

1. 共享锁:要等第一个人操作完,释放锁,才能操作
2. 更新锁:解决死锁,别人可以读,但不能操作
3. 排他锁:读写都被禁用
4. 意向锁(xlock): 对表中部分数据加锁,查询时,可以跳过
5. 计划锁: 操作时,别的表连接不了这张表