Mysql查询优化从入门到跑路(一)数据库与关系代数

1.怎样才算是数据库?
    ACID,是指在数据库管理系统中事务所具有的四个特性
    1)原子性
    2)一致性
    3)隔离性
    4)持久性
 
    关系数据库,基于关系代数,数据库形式是表格,数据能以不同方式被存取或重新召集。
    
2.关系代数(简单的来讲就是一种抽象的查询语句)
    从数学层面上来讲,关系代数是支持叫做逆反的对合一元运算的剩余布尔代数
    从数据库层面上来讲,是闭合于运算下的关系的集合
    注意:尽管SQL的查询语句松散的基于了关系代数,但是很多有用的关于关系代数的理论在SQL对应者中不成立。
 
    select ***  //投影
    from ***    //笛卡尔积
    where ***    //选择
    union       //并集\差集
    ......
 
3.查询优化
   本博客重点在于“查询重写规则”和“查询算法优化”,从优化的内容角度上看,查询优化又分为代数优化和非代数优化,或称为逻辑优化和物理优化
 
4.数据库调优和查询语句调优
    数据库调优可以使数据库应用运行地更快,其目的是使数据库由更高的吞吐量和更短的响应时间,被调优的对象是整个数据库管理系统总体
    查询语句调优的对象是一条查询语句
 
5.数据库调优五个阶段的主要技术
    1.应用情况的估算
        应用的使用方式;数据量;对数据库的压力、峰值压力等做个预估
    2.系统选型策略
        确定什么样的数据库可以使用应用需求
    3.数据模型的设计
       1)E-R模型设计
       2)数据逻辑分布策略
       3)数据物理存储策略
       4)索引,在查询频繁的对象上简历合适的索引,使索引的正效应大于负效应(索引的维护存在消耗)
    4.SQL设计
    5.系统的监控与分析
    
posted @ 2017-09-08 23:15  一寂知千秋  阅读(833)  评论(0编辑  收藏  举报