zoukankan      html  css  js  c++  java
  • 数据库调优教程(一)前言&慢查询定义

    前言

     

    最近帮公司优化数据库,凭着之前所学,一步一步地将学习知识用于实践,总算是将速度蹭上去了,一个原本要执行1分多钟的查询现在只需要3秒。

    现把自己所学所思及所用加以总结,一方面为自己巩固知识,另一方面也给广大同学以一点点参考。


    本套教程共十三讲。


    在这系列的教程中,你将会学到

    1.     如何一步步地优化数据库

    2.     如何把索引的作用发挥的淋漓尽致

    3.     如何解决Mysql在like’%xxx%’模糊查询的情况下不使用索引

    4.     如何设计一张优质的表

    5.     如何写出高质量的sql语句

    6.     数据库优化的其他方法

     

    首先,让我们从发现慢查询开始。


    一、           发现慢查询


    如何从一个大项目中,迅速的定位执行速度慢的语句,这是本章节将要解决的问题。

    1.      慢查询的定义

    怎样的查询才算是慢查询,有没有一个量化的标准呢?

    慢查询定义

           慢查询是指执行时间超过慢查询时间的sql语句。

    查看慢查询时间的方法

    show variables like 'long_query_time';

    可以显示当前慢查询时间。MySql默认慢查询时间为10秒


    可以通过如下语句对慢查询的定义进行修改

    set global long_query_time=1;


    (如果你的mysql设置了缓存,那么需要重新进入命令行窗口才会查出变化)

    需要注意的是,这个语句特意在变量前加上了global,表明这次的设置是对整个Mysql有效的,而默认情况下变量前的修饰符是session(会话),也就是只对当前窗口有效。


    这一讲只是开个头,下一讲,我们会为慢查询的发生准备数据,即创建一张大表。

  • 相关阅读:
    球面均分算法研究记录
    Vue组件继承实践(设计对话框组件继承)
    laravel--设置不需要csrfToken校验的接口
    ajax--表单带file数据提交报错Uncaught TypeError: Illegal invocation
    前端插件--fastclick解决点透问题
    ES6--反引号的使用
    JQuery--extend的使用
    laravel--laravel的重定向类Redirector
    laravel--request类获取传值
    JQuery--计算元素的宽度
  • 原文地址:https://www.cnblogs.com/javdroider/p/5184318.html
Copyright © 2011-2022 走看看