• MySQL性能优化



    1、优化查询
    可以通过分析查询语句了解查询语句的执行情况:
    explain / describe 查询语句
    查询结果显示了id,select_type,table,type,possible_keys,key等信息
    id:表示查询语句的编号
    select_type:表示查询语句的类型。该参数的几个常用取值:simple表示简单查询,其中不包括连接查询和子查询;primary表示主查询,或者最外层的查询语句;union表示连接查询的第二个或后面的查询语句
    table:表示查询的表
    possible_keys:表示查询中可能使用到的索引
    key:查询中实际用到的索引
    key_len:索引字段的长度
    rows:表示查询的行数
    使用索引查询:
    查询语句使用like,如果查询条件的第一个字符是%,索引不会被使用
    多列索引只有在查询条件的第一个字段是索引,索引才会被使用
    查询语句中如果有or,则其前后的查询条件字段必须都是索引,索引才会被使用
    优化查询基本原则:
             尽量早过滤
           优化子查询,使用join代替子查询
             尽量少排序
    2、优化数据库结构:
    ○1分表、添加中间表、增加冗余字段
    ○2优化插入记录的速度:
    1、当有大量插入数据时,应先禁用索引插入完毕后再开启索引。
      禁用索引语句:alter table 表名 disable keys
      开启索引语句:alter table 表名 enable keys
     
    2、插入记录时禁用唯一性检查,插入后开启
      禁用唯一性检查:set unique_checks = 0
      开启唯一性检查:set unique_checks = 1
    3、优化insert语句
      插入数据时应尽量一次性插入,减少与数据库的连接效率更高
    ○3分析表、检查表、优化表
    优化MySQL的参数:
    内存中会为MySQL保留部分缓冲区,这些缓冲区用以提高MySQL数据库的处理速度。缓冲区的大小都是在MySQL配置文件中进行设置的。
    一些重要的参数配置在my.ini文件的mysqld组中。
     
     
  • 相关阅读:
    CentOS7 下更改源
    /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
    Centos7 安装wget命令
    Cannot find a valid baseurl for repo: base/7/x86_6 解决方法
    python 启动新进程执行脚本
    MongoDB数据类型
    pymongo.errors.OperationFailure: Authentication failed.
    python连接MongoDB(有密码有认证)
    Mongodb 创建管理员帐号与普通帐号
    python连接MongoDB(无密码无认证)
  • 原文地址:https://www.cnblogs.com/cn-chy-com/p/10711688.html
Copyright © 2020-2023  润新知