1.关系型数据库和非关系型数据库
关系型数据库使用关系模型、对数据读写更快速、支持复杂查询。
非关系型数据库基于键值来存储、支持图片和文字的存储,是nosql的,不需要sql层的解析。
2.添加索引的原因
对于唯一的字段可以添加唯一索引确保行唯一;可以优化查询;可以避免排序和临时表。
3.数据库的组成
服务器和存储引擎,服务器包括连接器、缓存、分析器、优化器、执行器,存储引擎存储具体的数据。
4.事务隔离级别
未提交读、提交读、可重复读、串行读
未提交读是指一个事务对数据的修改在数据未提交时就可以被其他事务发现。
提交读是对应的。
可重复读是指在一次事务中数据前后一致,其他事务的修改对事务的过程不可见。
串行读是指串行读写
5.并发控制的问题
脏读:读的过程数据被回退
幻读:读前后数据的增加和删除
不可重复读
丢失修改
6.innodb和mylsam存储引擎区别
inoodb支持事务,支持行锁,对于各种级别的事务隔离都支持。
7.存储引擎使用的索引
包括哈希索引和b树索引,b+树的数据都在叶子节点,而b树需要中序遍历才能得到数据。
8.添加了索引也不能保证一定使用索引的条件
比如未按照字段查询,或者对于组合索引没有按照最左前缀匹配查询
9.加快查询的方法
避免使用select*,使用更快的存储引擎,创建索引
10.视图和游标
视图是虚拟表是查询过程使用的,游标是在逐行处理中使用的。