当前位置: 首页 > news >正文

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

转载于:https://www.cnblogs.com/WardSea/p/7496775.html

相关文章:

  • NeHe OpenGL第三十课:碰撞检测
  • 【调试】如何使用javascript的debugger命令进行调试(重要)
  • Struts 功能扩展 之 RequestProcessor
  • 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(66)-MVC WebApi 用户验证 (2)...
  • 第一章 MySql的安装 1.1
  • Android零基础入门第61节:滚动视图ScrollView
  • 我的宽带路
  • ArrayBlockingQueue与LinkedBlockingQueue
  • 一些鲜为人知的编程事实之感想
  • GreenDao3.0新特性解析(配置、注解、加密)
  • oracle与mysql的between and
  • 自定义圆角头像图片
  • nbu6.5 for Solaris安装及备份手册
  • 正式英语和非正式英语
  • spring 使用注解注入 list 或 map
  • Consul Config 使用Git做版本控制的实现
  • Docker入门(二) - Dockerfile
  • Git 使用集
  • Java,console输出实时的转向GUI textbox
  • JS实现简单的MVC模式开发小游戏
  • React Transition Group -- Transition 组件
  • React-Native - 收藏集 - 掘金
  • Shadow DOM 内部构造及如何构建独立组件
  • vue 配置sass、scss全局变量
  • vue-cli3搭建项目
  • 搭建gitbook 和 访问权限认证
  • 回顾2016
  • 区块链分支循环
  • 如何利用MongoDB打造TOP榜小程序
  • 收藏好这篇,别再只说“数据劫持”了
  • 一个JAVA程序员成长之路分享
  • 用quicker-worker.js轻松跑一个大数据遍历
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #if #elif #endif
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $$$$GB2312-80区位编码表$$$$
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (arch)linux 转换文件编码格式
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (新)网络工程师考点串讲与真题详解
  • (转)fock函数详解
  • (转载)Linux网络编程入门
  • *1 计算机基础和操作系统基础及几大协议
  • ../depcomp: line 571: exec: g++: not found
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .net framework 4.0中如何 输出 form 的name属性。