1:mysql数据库相关知识
四种事务隔离级别
- read uncommited(未提交读):
事务中未提交的改动对其他事务是可见的,也称为脏读
- read commited(提交读):大多数数据库默认才用此级别,mysql不是,一个事务开始时,只能看见已经提交事务的修改,换句话说,一个事务从开始到提交的修改对于其他事务是不可见的,这种级别也可叫不可重复读(nonrepeatable read),因为两次同样的查询,可能会得到不一样的结果
- repeatable read(可重复读):此级别是mysql的默认级别,该级别解决的脏读的问题,该级别保证了在同一个事务中多次读取同样的记录的结果是一致的,但是还是无法解决幻读的问题(范围查找时会出现别的事务提交的记录,幻行)
- serializeable(可串行化):这是最高隔离级别,强制事务串行化执行
索引
-
索引的数据结构一般都是b-tree,所以索引是按顺序存储在各页中的,数据越多,数的高度越高,检索越满
- 索引是根据索引行的值保存数据行的索引,在innodb中,主键索引是聚簇索引(索引的值和行是存储在一起的),索引保存的就是主键值,如果不设置主键,引擎会自动使用唯一的一个非空索引代替,如果没有,会隐试定义一个主键,缺点是通过二级索引查询数据时,命中后都会通过主键值再查找一遍(回表)在myisam中,索引行是引用物理位置引用的行,优点,二级索引不用回表,而且可以压缩索引哈希索引:是基于哈希表实现的,一般用于索引列差异较大,能直接命中,查询效率非常高,数据量大之后可能有散列冲突
基础知识:
http1.0,1.1和2.0的区别以及关系:https://www.cnblogs.com/heluan/p/8620312.html
虚拟内存与物理内存的区别:https://blog.csdn.net/lvyibin890/article/details/82217193
同步异步,阻塞与非阻塞:https://www.cnblogs.com/chaser24/p/6112071.html
RPC: