锁机制
Innodb是事务级数据库,支持事务,支持外键,rollback,mvcc(高并发:在readcommit,repeatable read),acid
Myisam不支持事务,行级锁,奔溃后无法安全恢复,不支持外键,强调的快
image.png image.png页锁:表锁快(一次锁住,可以执行好多命令,故快),但冲突多(一旦锁住就不能读)
行锁慢,冲突小 折中,取一组数据,相关数据的集合就是页表
Myisam的索引和数据分离,b+树的叶子节点保存是数据的物理地址,所以称为非聚集索引
Innodb的锁算法
image.pngRecord 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.png3:可中断锁
image.png4:公平锁:谁先来先处理谁
image.png如何衡量hash函数的好坏
产生最少的碰撞就是好的hash函数
网友评论