栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础巩固-宇宙第一AiYWM:为了维持生计,MySQL基础PartX(关系型数据库和非关系型数据库之优化篇)~整起

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础巩固-宇宙第一AiYWM:为了维持生计,MySQL基础PartX(关系型数据库和非关系型数据库之优化篇)~整起

优化,谝一谝。查询优化、索引优化、库表结构优化需要齐头并进,一个不落。并且关系型数据库和非关系型数据库肯定都涉及到了优化:

PART1:关系型数据库优化:以MySQL为例

  • 咱们整体的Sql 调优思路:
    • 表结构优化
      • 1。拆分字段
      • 2.字段类型的选择
      • 3.字段类型大小的限制
      • 4.合理的增加冗余字段
      • 5.新建字段一定要有默认值
    • 索引方面
      • 1.索引字段的选择
      • 2.利用好mysql支持的索引下推,覆盖索引等功能
      • 3.唯一索引和普通索引的选择
    • 查询语句方面
      • 1.避免索引失效
      • 2.合理的书写where条件字段顺序
      • 3.小表驱动大表
      • 4.可以使用force index()防止优化器选错索引
    • 分库分表

在获得编写MySQL查询的经验的同时,也将学习到如何为高效的查询设计表和索引。同样的,也可以学习到在优化库表结构时会影响到哪些类型的查询。
一般咱们经常接触到的性能相关的服务请求是下面三个:

  • 如何确认服务器是否达到了性能最佳的状态
  • 找出某条语句为什么执行不够快
    • 一条 Sql 语句查询一直慢会是什么原因:
    • 一条 Sql 语句查询偶尔慢会是什么原因?
  • 以及诊断被用户描述成“停顿”、“堆积”或者“卡死”的某些间歇性疑难故障。

感觉其实差不多,咱们在Java中一般测试哪个语句或者哪个算法快不快慢不慢,不就是开始测一下时间并且结束测一下时间,减一下就知道你这个花费了多少时间了呗。一样,咱们MySQL这里也可以测量服务器的时间咋花费的,花在哪里了…在具体一点,就是数据库服务器的性能用查询的响应时间来度量,单位是每个查询花费的时间。

  • 完成一项任务所需要的时间可以分成两部分:

    • 执行时间
      • 如果要优化任务的执行时间,最好的办法是通过测量定位不同的子任务花费的时间,然后优化去掉一些子任务、降低子任务的执行频率或者提升子任务的效率。
    • 等待时间。
      • 而优化任务的等待时间则相对要复杂一些,因为等待有可能是由其他系统间接影响导致,任务之间也可能由于争用磁盘或者CPU资源而相互影响。根据时间是花在执行还是等待上的不同,诊断也需要不同的工具和技术。
  • MySQL性能优化



  • explain:EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法。可以帮助咱们了解MySQL优化器是如何工作的。要使用EXPLAIN,只需在查询中的SELECT关键字之前增加EXPLAIN这个词。MySQL会在查询上设置一个标记。当执行查询时,这个标记会使其返回关于在执行计划中每一步的信息,而不是执行它。它会返回一行或多行信息,显示出执行计划中的每一部分和执行的次序。

PART2:非关系型数据库优化:以Redis为例

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/946591.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号