• mysql 性能优化


    mysql 性能优化

    一。查询一些常用的性能参数
    show STATUS like 'Show_queries';

    CONNECTIONs:连接mysql服务器的次数;

    Uptime:MYSQL服务器的上线时间;

    Show_queries:慢查询的次数;

    Com_select:查询操作的次数;

    Com_insert:查询插入的次数;

    Com_update:查询更新的次数;

    Com_delete:查询删除的次数;

    二。优化查询

    1.分析查询语句 EXPLAIN 和 DESCRIBE

    (1) EXPLAIN

    语法:EXPLAIN + sql语句 (例如:explain SELECT * from aaa)

    参数说明:请参考 https://www.cnblogs.com/anxbb/p/8809075.html

    (2) DESCRIBE

    语法:DESCRIBE + sql语句 (与EXPLAIN用法类似)

    2. 索引优化查询速度

    (1) like 语句只有****% 可以使用索引 %*****%这样的事无法使用索引的

    (2) 使用组合索引的时候(一个索引可以包含16个字段),只有使用了定义组合索引的第一列 才能使用索引查询

    (3) 使用 or查询的时候,只有 or的前后条件的列都事索引的时候,才能使用索引查询

    3.优化子查询

    (1)对于查询逻辑不强,且数据不是很大的时候可以用子查询,优化查询(新建内存表)

    (2)但是逻辑很强或者数据很大的时候,采用 join加索引的方式比较好(避免内存表太大,影响查询速度)

    二。优化数据库结构

    1.将字段很多的表,不是频繁查询的字段拆标,放在一个新表之中

    2.增加中间表,将经常联合查询的语句 新建一张表,等下次在查询 直接查询中间表就可以。

    3.增加冗余字段,避免过多的联合查询

    4.优化插入记录的速度

    (1)使用批量插入

    (2)数据量特别大的时候,建议使用 LOAD date INFILE

    (3)数据量大时候,可以先禁用索引,插入成功之后在开启 语法: ALTER Table 表明 DISABLE KEYS; 开启: ALTER Table 表明 ENABLE KEYS;

    5.分析表 ANALYZE TABLE aaa

    6.检查表 CHECK TABLE aaa

    7.优化表 table中存在varchar,blob或者Text OPTIMIZE TABLE aaa (表示可以消除删除和更新造成的碎片) (OPTIMIZE TABLE LOCAL 或者 NO_WRITE_TO_BINLOG aaa 表示不写入二进制日志)

  • 相关阅读:
    MySQL RR隔离 读一致性
    C++奥赛一本通刷题记录(高精度)
    CodeVs天梯之Diamond
    CodeVs天梯之Gold
    CodeVs天梯之Silver
    CodeVs天梯之Bronze
    【2018.1.14】本蒟蒻又回来了
    test
    UVa12545
    UVa1149
  • 原文地址:https://www.cnblogs.com/anxbb/p/9253160.html
Copyright © 2020-2023  润新知