一、Mysql
1.Mysql概述:
Mysql是一款免费的跨平台的数据库,存储引擎可以选择InnoDB(支持事务)和MyISAM(不支持事务)。一般我们用innodb。
2.Sql语言分类
SQL语言分为:DDL建表等,DML增删改查数据,DCL权限控制,TCL事务控制
3.事务的四个特性:
原子性,一致性,隔离性,持久性 关键字,commit rollback
4.常见函数
Avg sum count max min 等
5.索引
索引分为:主键索引、唯一索引、普通索引、全文索引。由于加入索引会导致增加,删除,修改的操作变慢,查询效率变高。所以我们加索引必须符合以下原则:查询量大,更新不频繁,数据唯一性较高。Mysql默认索引为B+树。
6.执行计划
我们可以使用explain+sql语句查看sql语句的执行顺序,索引是否启用,每一条子查询的性能等等信息。从而优化sql。
7.触发器
触发器用于检测你的数据库操作行为,比如增加,删除,修改等,然后自动执行相关的操作。
8.Sql优化
1)使用explain查看执行计划,分析处理
2)为合适的列添加索引
3)降低cpu计算量,比如order by ,group by ,distinct等尽量少用
4)使用缓存等方式使用已存在的执行计划,跳过解析和执行计划的过程。
5)使用join 代替子查询,少用or,not in ,not null;
6)程序端使用二级缓存等方式,减少数据库io。
7)尽量避免全表扫描,比如in,like等。
9.存储过程
1)概述:存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。在一定程度上提高效率