zoukankan      html  css  js  c++  java
  • MariaDB数据库性能优化

    1. 硬件优化

    1.1 内存(Memory)

    内存是最重要的因素,因为它允许您调整服务器系统变量更多的内存意味着可以将更大的密钥和表缓存存储在内存中,从而减少磁盘访问速度,降低一个数量级。

    如果未将服务器变量设置为使用额外的可用内存,则仅添加更多内存可能不会带来显着改进。

    在主板上使用更多RAM插槽会增加总线频率,RAM和CPU之间会有更多延迟。因此,最好使用每个插槽的最大RAM大小。

    1.2 磁盘(Disks)

    快速磁盘访问至关重要,因为最终它是数据所在的位置。关键指标是磁盘搜索时间,衡量物理磁盘移动访问数据的速度,因此请选择寻道时间尽可能低的磁盘。

    您还可以为临时文件和事务日志添加专用磁盘。

    1.3 网速(Ethernet)

    更快的网速主要影响数据接收和发送的速度,在可能的情况一般建议采用局域网的连接方式。

    1.4 处理器(CPU)

    虽然硬件瓶颈通常落在其他地方,但更快的处理器允许更快地执行计算,并且结果更快地发送回客户端。

    除处理器速度外,处理器的总线速度和高速缓存大小也是需要考虑的重要因素。

    2. 创建索引

     通常用的索引:主键(Primary keys),唯一索引(Unique Index),普通索引(Plain Index),全文索引(Full-Text Index)

    2.1 主键(Primary keys)

    主键是唯一的,永远不能为空,否则无法创建索引。它始终只能识别一条记录,并且必须表示每条记录。每个表只能有一个主键。

    XtraDB / InnoDB表中,所有索引都包含主键作为后缀。因此,当使用该存储引擎时,保持主键尽可能小是特别重要的。如果主键不存在且没有UNIQUE索引,则InnoDB会创建一个6字节的聚簇索引,该索引对用户不可见。

    2.2 唯一索引(Unique Index)

    唯一索引必须是唯一的,但它可以为null,可以单个列和多个列组合。

    2.3 普通索引(Plain Index)

    不需要唯一,可以单个列和多个列组合。

    3.合理利用索引以及优化Sql语句

    <,<=,> =,>,BETWEEN,LIKE 'xxx%' 都是能应用索引的;

    但是例如:<>,!=,LIKE '%xxx'  等都是不会应用索引查询,一般情况单个表中的索引最好不要超过6个。

    至于SQL优化这个范围有点广,后续再看看写吧~~~

  • 相关阅读:
    LPC2478中断控制器以及串口详解
    有效三角形的个数
    小于K的两数之和
    和至少为K的最短子数组
    docker: 构建自己的镜像
    判断字符串是否是异位词
    找出字符串中的最长回文
    knuth洗牌算法
    使用adb命令控制anroid手机
    bitmap以及异或运算法
  • 原文地址:https://www.cnblogs.com/wuzhixiong/p/10775135.html
Copyright © 2011-2022 走看看