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.系统的监控与分析
    

Mysql查询优化从入门到跑路(一)数据库与关系代数的更多相关文章

  1. Mysql查询优化从入门到跑路(二)数据库查询优化技术总揽

    五大优化技术 1.查询重用 查询重用是指尽可能利用先前的执行结果,以达到节约查询计算全过程的时间并减少资源消耗的目的. 目前查询重用技术主要集中在两个方面:     1)查询结果重用         ...

  2. Mysql查询优化从入门到跑路(三)查询的基本操作

    查询的基本操作 1.选择操作 对应的是限制条件,操作对象是二维表的行.     优化方式:选择操作下推     目的:尽量减少连接操作前的元租数,使得中间临时关系尽量少(元祖数少,连接得到的元组数就少 ...

  3. Spring全家桶系列–[SpringBoot入门到跑路]

    //本文作者:cuifuan Spring全家桶————[SpringBoot入门到跑路] 对于之前的Spring框架的使用,各种配置文件XML.properties一旦出错之后错误难寻,这也是为什么 ...

  4. 反手来个K8S入门到跑路

    layout: post title: 反手来个K8S入门到跑路 category: linux date: 2019-06-09 tags: linux k8s 反手来个K8S入门到跑路 前言 放假 ...

  5. TiDB入门(四):从入门到“跑路”

    前言 前面三章基本把 TiDB 的环境弄好了,也做了一下简单测试,有兴趣的同学可以看一下: TiDB 入门(一):TiDB 简介 TiDB 入门(二):虚拟机搭建 TiDB-Ansible 部署方案 ...

  6. MySQL从删库到跑路_高级(七)——事务和锁

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.事务简介 1.事务简介 事务(Transaction)是指作为单个逻辑工作单元执行的一系列操作. 2.事物的特效 ...

  7. MySQL从删库到跑路_高级(六)——索引

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.索引简介 1.索引简介 索引(Index)是帮助MySQL高效获取数据的数据结构. 在MySQL中,索引属于存储 ...

  8. MySQL从删库到跑路_高级(五)——触发器

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.触发器简介 1.触发器简介 触发器是和表关联的特殊的存储过程,可以再插入,删除或修改表中的数据时触发执行,比数据 ...

  9. MySQL从删库到跑路_高级(四)——存储过程

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.存储过程简介 1.存储过程简介 存储过程是一组具有特定功能的SQl语句集组成的可编程的函数,经编译创建并保存在数 ...

随机推荐

  1. C 二维数组,以及自定义二维数组

    C 二维数组,以及自定义二维数组 我们通常情况下是这样定义一个二维数组的: int a[10][15]; 我们分别查看一下a,a[0],*a 都是一样的值吧 我们可以这么理解: a是一个数组的数组 a ...

  2. Touch table

    On this page I present the results of my touch action research. I concentrated on the few basic acti ...

  3. 使用Google Cloud Messaging (GCM),PHP 开发Android Push Notifications (安卓推送通知)

    什么是GCM? Google Cloud  Messaging (GCM) 是Google提供的一个服务,用来从服务端向安卓设备发送推送通知. GCM分为客户端和服务端开发. 这里我们只介绍服务端开发 ...

  4. Redis系列一 Redis安装

    Redis系列一    Redis安装 1.安装所使用的操作系统为Ubuntu16.04 Redis版本为3.2.9 软件一般下载存放目录为/opt,以下命令操作目录均为/opt root@ubunt ...

  5. nodeJs 安装 npm nodeModules package.json

    Nodejs   1.安装nodejs 从nodejs官网下载最新版本的node,设置环境变量这样就可以在cmd下直接用命令行操作npm 环境变量:path  d:/nodejs 查看本机node及n ...

  6. 修改Eclipse中项目在Apache Tomcat中的部署路径

    在Eclipse中配项目已经部署到如下默认目录下:eclipse workspace/.metadata/.plugins/org.eclipse.core.resources/.projects. ...

  7. XSS--编码绕过,qcms,鲶鱼cms

    一.编码绕过 1)HTML进制编码 标签中的某些属性值可以使用html十进制.十六进制表示 2)JavaScript编码 JavaScript支持unicode.八进制.十六进制.十进制等 3)URL ...

  8. centos下php环境安装redis

    一.安装redis(仅可在服务器使用,尚不能通过浏览器访问) (1)首先下载redis:wget http://download.redis.io/releases/redis-4.0.9.tar.g ...

  9. HTMLTestRunner.py(Python3)

    """A TestRunner for use with the Python unit testing framework. Itgenerates a HTML re ...

  10. Jenkins 配置邮箱 530Authentication required ,535 uthentication failed 的解决方法

      错误 解决方法 530 Authentication required  需要展开SMTP认证,输入SMTP server能识别的用户信息 535 authentication failed  输 ...