数据库笔记
-
in查询 in参数个数限制:
- mysql没有语句长度和个数限制;
- Oracle 9i 中个数不能超过256;
- Oracle 10g个数不能超过1000;
- sqlserver不能超过2100.
解决方法:分批查询.
mysql(5.5)
逻辑分层
- 链接层 提供连接的服务
- 服务层 提供各种接口(增删改查)、sql优化
- 引擎层 数据存储引擎
- InnoDB 事务优先,适合高并发,行锁(一行行的锁)
- MyISAM 性能优先,表锁(一次直接锁表)
- 存储层 存储数据
优化
解析过程:先表,后条件,最后select。
索引
索引分类:主键索引(不可为null),唯一索引(可为null),聚合索引(相当于多级目录) 索引数据结构:
- B+数
- 三叉数
- etc 索引弊端:
- 占用磁盘空间,空间换时间
- 读快,增删改慢,除了改数据,还要改索引。 索引优点:
- 提高效率(读快)
- 降低cpu使用率(索引数据结构B+树已排好序,排序时无需cpu再计算) 索引适用情况: 读多写少、数据不经常更新;数据量较多;较常使用的字段。
explain
笛卡尔积:表的执行顺序 因数量的个数改变而改变 数据量小的表优先查询,减小内存压力