zoukankan      html  css  js  c++  java
  • 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组中。
     
     
  • 相关阅读:
    20150128-堆雪人
    20150127-梦里笑醒的声音
    20150126-渡口
    20150125-阴天
    FastAdmin 的上传代码在哪里?
    在 Linux 安装 IIS?
    FastAdmin env.sample 的用法
    可以方便配合 Git 的现代编辑器
    运算放大器复习
    Linux 权限使用 777 真的好吗?
  • 原文地址:https://www.cnblogs.com/cn-chy-com/p/10711688.html
Copyright © 2011-2022 走看看