美文网首页
(夜食)MySql数据库优化思路

(夜食)MySql数据库优化思路

作者: WebGis学习笔记 | 来源:发表于2019-08-19 10:20 被阅读0次

三,数据库优化思路

1.SQL语句优化:

  • 尽量避免放弃使用索引而引起全表扫描,例如:
    • where子句中使用!=
    • where子句中使用<>
    • where子句中改变=号左边的值
    • where子句中对字段进行null值判断 is nullselect id from user where num is null
  • 优化建议:
    • 将为null的值由0代替select id from user where num = 0
    • 很多时候使用exists代替in是一个好的选择
    • 用where子句替换having子句因为having只会在检索出所有记录之后才会对结果集进行过滤

2.索引优化

  • 在具有这些性质的字段上建立索引:
    • 经常搜索(可以加快搜索速度)
    • 作为主键的列,强制该列的唯一性和组织表中的排序结构
    • 在经常用于连接的列上(外键,可以加快连接速度)
    • 在经常需要根据范围进行搜索的列上(索引以及排序,指定范围是连续的)
    • 在经常需要排序的字段
    • 在经常使用where的列上(加快条件的判断速度)
  • 不应该建立索引列的特征:
    • 查询中很少使用或者参考的列
    • 数据值很少的列,例如:性别
    • 类型定义为text,image和bit数据类型的列
    • 修改远远大于检索的列

3.数据库结构优化

  • 范式优化:
    • 消除沉余(节省空间)
  • 反范式优化:
    • 适当加沉余(减少join)
  • 拆分表:
    • 分区将在物理硬盘上分割开,不同分区的数据可以制定保存在处于不同磁盘的数据文件里。当对这个表查询时,只需要在表分区中进行扫描,而不必进行全表扫描,另外处于不同磁盘的分区也将对这个表的数据传输分散在不同的磁盘I/O,一个良好的分区可以将数据传输对磁盘I/O竞争均匀地分散开。对数据量大的时候可采用此方法。
    • 例:1.产品表(数据量10万,稳定),2.订单表(数据量200万,且有增长趋势)3.用户表(数据量100万,且有增长趋势)
    • 垂直拆分
      • 方案:吧产品表和用户表放在一个server上订单表单独放到一个server上
      • 解决问题:表于表之间的io竞争
      • 不解决的问题:单表中数据量增加出现的压力
    • 水平拆分
      • 方案:用户表通过性别拆分男用户和女用户,订单表通过已完成订单和未完成订单拆分,将未完成数据单独放在一个server上,已完成订单和男用户放在一个server上
      • 解决问题:单表中数据量增加出现的压力
      • 不解决的问题:表与表之间的io争夺

4.服务器硬件的优化

  • 花钱扩展服务器性能,搭建集群等等

相关文章

  • (夜食)MySql数据库优化思路

    三,数据库优化思路 1.SQL语句优化: 尽量避免放弃使用索引而引起全表扫描,例如:where子句中使用!=whe...

  • Mysql查询优化

    mysql的优化思路: 日志、执行计划、索引、缓存(查询缓存和索引缓存)、SQL优化、分区、分表、分库、修改数据库...

  • mysql优化

    mac下开启数据库:每次启动都是找了半天,这次记录下:启动mysql数据库mycat学习分享mycat学习总结优化思路

  • MySQL数据库与SQL优化

    一、MySQL数据库 - SQL优化 MySQL DBMS - MySQL Database Management...

  • MySQL-性能优化-优化设计和设计原则

    MySQL-性能优化-优化设计和设计原则 MySQL性能优化目的 如何合理的设计数据库? 什么样的数据库设计才能给...

  • MySQL5:性能优化

    性能优化 优化MySQL数据库是数据库管理员和数据库开发人员的必备技能。MySQL优化,一方面是找出系统的瓶颈,提...

  • SQL审核优化建议

    SQL审核优化建议 数据库类型 MySQL:RDS MySQL、PolarDB MySQL、MariaDB、Pol...

  • 数据库存储原理特性索引优化

    说一下mysql数据库存储的原理? 事务的特性? 数据库索引 数据库怎么优化查询效率? 数据库优化方案 优化索引、...

  • MySQL优化

    概述 MySQL优化分为三部分优化: MySQL服务器和配置优化 数据库设计和结构优化 查询优化(重点) MySQ...

  • mysql性能与优化

    数据库结构优化 数据库结构设计 mysql复制

网友评论

      本文标题:(夜食)MySql数据库优化思路

      本文链接:https://www.haomeiwen.com/subject/kszjsctx.html