数据库
索引的优点:
- 建立索引的列可以保证行的唯一性
- 立索引可以有效缩短数据的检索时间
- 建立索引可以加快表与表之间的连接
- 为用来排序或者是分组的字段添加索引可以加快分组和排序顺序
索引的缺点:
- 创建索引和维护索引需要时间成本,这个成本随着数据量的增加而加大
- 建索引和维护索引需要空间成本,每一条索引都要占据数据库的物理存储空间,数据量越大,占用空间也越大(数据表占据的是数据库的数据空间)
- 会降低表的增删改的效率,因为每次增删改索引需要进行动态维护,导致时间变长
存储的优点:
- 存储过程是一个预编译的代码块,执行效率比较高
- 存储过程在服务器端运行,减少客户端的压力
- 允许模块化程序设计,只需要创建一次过程,以后在程序中就可以调用该过程任意次,类似方法的复用
- 一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率
可以一定程度上确保数据安全
存储的缺点:
- 调试麻烦(没有像开发程序那样容易)
- 可移植性不灵活(因为存储过程依赖于具体的数据库)
三大引擎:
MYISAM:支持3种存储方式:静态型,动态型,压缩型
- 优点:占用空间小,存储速度快
- 缺点:不支持事务和并发
innoDB:
- 优点:提供事务的支持,回滚,崩溃修复能力,多版本 事务并发控制
- 缺点:读写效率较差,占用的数据库空间较大
Memory:内存中对数据创建表,数据全部存储在内存
- 优点:读写速度非常快,对数据的安全性要求比较低的时候可以选择memory
- 缺点:生命周期短