在数据库中实现索引,采用的数据结构就是B+ tree,它的特性是:
每个结点存了几个值,就由几个子树父节点的元素都存在于子节点中,且是子节点中最大的值或最小的值最下方的叶子节点链表相连(包含database的数据全集)The edge of B+ tree:
1.height low;
2.便于查找
3.只需非叶子节点的id存储于内存中。
事务
Concept:就是将多个操作打包成一个步骤
rollback(回滚):若其中一个步骤不成功,就会回到初始状态。
code:
start transaction;
若干SQL;
commit;
事务有四大基本特性:
1.原子性:
顾名思义,事务中的步骤不可分割。
2.一致性
前后数据要一致,比如王五装给李四500;李四收到的钱也必须是500
3.持久性
事务的过程记录到磁盘上,一旦执行成功,哪怕是重启主机,也是修改后的状态
4.隔离性
多个事务并发执行所产生的情况。
既然是并发,就是多个事务会同时执行,效率提高的同时也是会trigger 一些问题
我们需要在实际场景中根据要求来设置这个隔离性和并发性
在MySql中,也是提供以下四个挡位供你选择。
1.read uncommitted(并发性最强)
2.read committed
3.repeatable read
4.serializable (隔离性最强)
可以在my.ini中进行修改挡位。