数据库三大范式:
1.列不可再分
2.非主键元素完全依赖主键,不能依赖主键的一部分
3.表的非主键元素不能依赖其他表的非主键元素
数据库的事务特性:
1.原子性
2.隔离性
3.一致性
4.持久性
数据库的隔离级别:
1.read uncommit --------------数据在事务中未提交仍然可以读取到
-----脏读:数据已经修改,读取到未修改的数据
-----不可重复读: 每次读取的数据不同
-----幻读:读数据时,由于别的事务提交,会读出一些别的不存在的数据
2.read commit -------------数据在事务中提交才可以读取到,否则读取不到
--------不可重复读
--------幻读
3.repeatable rad ------------可重复读:每次读取的数据结果相同
--------数据库默认隔离级别:别的事务的提交修改对当前事务没有影响
--------幻读
4.serializable ----------可串行化 :加锁读
sql中select查询的优化手段:
1.少使用Select *
2.少使用子查询/嵌套查询,使用关联查询
3.减少使用 in/not in 使用 exits/not exits 或管理语句查询
4.or 的查询使用 union/union all
5.where语句尽量少使用!=/>/<,否则会放弃使用索引进行全局扫描
6.where语句尽量少进行null的判断