锁机制

2020-07-22  本文已影响0人  bangbang2

锁机制

Innodb是事务级数据库,支持事务,支持外键,rollback,mvcc(高并发:在readcommit,repeatable read),acid

Myisam不支持事务,行级锁,奔溃后无法安全恢复,不支持外键,强调的快

image.png image.png

页锁:表锁快(一次锁住,可以执行好多命令,故快),但冲突多(一旦锁住就不能读)

行锁慢,冲突小 折中,取一组数据,相关数据的集合就是页表

Myisam的索引和数据分离,b+树的叶子节点保存是数据的物理地址,所以称为非聚集索引

Innodb的锁算法

image.png

Record lock:锁单个记录

Gap lock:锁一个范围,不包括记录本身,记录相当于一个gap,所以叫gap lock

Next-key:record+gap-----最优

Innodb在行锁时,利用next-key

大表优化

mysql的表太大了 1:限定数据的范围:比如限定查询一个月的订单,不能不加限制的将整个表显示给用户

2:读写分离:主库写,从库读

3:垂直分区:利用第五方式,将表拆分成小表 优点:快 io少 缺点:冗余列

4:水平分区:简单的将大表分为几个小表,列不变

常见面试题

Java的class文件

Java的class文件是字节码文件,可以在jvm上执行的文件。是Java文件经过编译后产生的二进制文件

一直用短连接

传递视频或图片等比较大的文件,短连接会导致卡顿

Java的锁的分类

1:可重入锁

2:读写锁:读的时候上读锁,写的时候上写锁

image.png

3:可中断锁

image.png

4:公平锁:谁先来先处理谁

image.png

如何衡量hash函数的好坏

产生最少的碰撞就是好的hash函数

上一篇下一篇

猜你喜欢

热点阅读