1.索引是什么:英文名index
- 给查询的关连字段加个index,设为B-tree算法
2.锁是什么:
2.1为何选用悲观锁:更安全
- 悲观锁定义:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁
- 如何使用悲观锁:java中用synchronized
2.2为何选用乐观锁:运行更快
- 乐观锁定义:总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据
- 如何使用乐观锁:版本号机制
一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取version值,在提交更新时,若刚才读取到的version值为当前数据库中的version值相等时才更新,否则驳回