数据库笔记

数据库学习随笔

Posted by Jimmer on July 24, 2019

数据库笔记

  • 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

笛卡尔积:表的执行顺序 因数量的个数改变而改变 数据量小的表优先查询,减小内存压力