常见问题一览
索引,采用B tree,树的一级会过百,所以层级很低,检索速度会很快,用红黑树会因为数据增加而导致树阶增高,检索速度下降(存储和ETCD相似,硬盘结构和内存块大小对应,一次读取一个硬盘块(预读,理论,局部性原理:一个数据使用时其前后数据的使用概率会很大))
支持表锁,包括写独占锁和读共享锁,类似MUTEX,读共享,读写,写写互锁
支持事务,行锁
包括 共享锁,S锁(读锁)和X锁,排它锁(写锁)
基本的select ... from ...where ...
不加锁
根据操作是否有写操作,如update , delete, insert, select for update
会加S锁,select in share mode
会加S锁
innodb中存在上述两种锁,是对应到表级别的读写锁,当需要获取行锁时,必须获取对应的表的意向锁,该锁由DB自己控制
oracle 中锁是对数据行加锁,而 innodb 中是对索引加锁,意思是:当且从索引检索数据才会使用行锁,否则将会使用表锁
,同时需要注意同表同索引检索,也会出现锁竞争