zoukankan      html  css  js  c++  java
  • MySql调优

    1:前言

    MySQL的优化能够提高网站的效率,我相信谁也不想自己的网站或者系统出现CPU:100%,内存:100%这样的峰值,优化成为我们至关重要的一点,在一家小型公司的打(pian)杂(chen)时候,让我有机会了解到MySQL的调优;了解到了服务器调优前后的速度是多么不同.在此,我以的经历做下总结.

    2:优化的过程:

    1:使用Show Status命令来查看数据库到底是读得多还是写得多?

    我一般都会使用: show status like “com_select%”等命令来查看是读得多还是写得多.

    2:数据库引擎的选择:

    InnoDB:事务支持 外键支持 查询效率相对较慢!(我的猜测是因为它的空间分配问题)

    Myisam:查询速度那是相当快的,这是,我一般的选择.(有人说不支持外键呀,而且锁定也是表级锁呀;说白了就说没钱);

    对于,读的数据库类型不考虑事务和外键,应该马上切换到Myisam.性能提高非常快.

    3:慢查询日志:

    慢查询日志是一个非常好用的东西,先来看下它的使用步奏.

    1.查看是否开启:

    image_thumb

    2.开启慢查询日志:

    要在my.ini(linux:my.cnf),加上 log_slow_queries = slow.log; 和 log_query_time = 10;(界定什么查询多少秒是慢查询).这样,每次查询日志就会把超过指定时间的语句写进到慢查询日志.

    4:找到慢查询的语句进行分析:

    我一般用desc命令来分析一条语句,如下图:(desc select语句)

    image_thumb1

    5:找到相应的语句来处理:

    一般,情况都是加上索引处理;

    6: Handler_read_key和Handler_read_rnd_next:

    image_thumb3

    如图分析,可以发现Handler_read_key越高越好(索引用得多).反之,Handler_read_rnd_next越低越好.

    7:其他细节思维导图如下

     

    MySQL_thumb1

    MySQL2_thumb

    8:结束语:

    MySQL调优是很大学问,而这个很大的学问在大型网站的下面又是一个很小的学问,上面的只是我个人总结的调优基础.谢谢

  • 相关阅读:
    java值类型和引用类型
    0513作业
    随机四位验证码
    1-36随机生成6个不重复的数
    java随机数
    0509作业
    作业0508
    字符集
    eclipse快捷键
    数据类型 转换
  • 原文地址:https://www.cnblogs.com/courtier/p/4311889.html
Copyright © 2011-2022 走看看