zoukankan      html  css  js  c++  java
  • 性能测试之数据库篇-查询

      数据库性能测试,各位都有过这种经历,前台界面按照某些条件筛选查询的时候返回结果特别慢,通常情况就是数据库查询返回结果比较慢,所以先看下从前到后是怎么个查询数据流走向。

    首先前端界面--勾选或者添加查询条件--经过一系列的转化,转化成sql语句,然后在数据库端执行,数据库端执行完,返回结果给前端展示。

      这其中就涉及到你的查询条件转化为的sql语句是否够优秀了,

    1、首先尽量避免全表扫描,例如 “select * from 表名这种,也就是你前端默认啥条件不选的时候不要展示全部的表,展示前两页或者有限条数的表,不然每次打开页面都是全表扫描,数据量到达一个量级以后,那是很头疼的一件事。

    2、sql语句尽量避免全连接查询,同上道理,你要查找的范围越大,你要花的时间要越长。

    3、在你知道查询语句的情况下,执行语句,并通过命令语句查看sql语句执行效率  

      3.1 查询在执行的sql ----show processlist 通过此条语句可以查看到有哪些语句在执行

      

       3.2 explain 语句 

        explain SELECT * FROM t

    ------------恢复内容开始------------

      数据库性能测试,各位都有过这种经历,前台界面按照某些条件筛选查询的时候返回结果特别慢,通常情况就是数据库查询返回结果比较慢,所以先看下从前到后是怎么个查询数据流走向。

    首先前端界面--勾选或者添加查询条件--经过一系列的转化,转化成sql语句,然后在数据库端执行,数据库端执行完,返回结果给前端展示。

      这其中就涉及到你的查询条件转化为的sql语句是否够优秀了,

    1、首先尽量避免全表扫描,例如 “select * from 表名这种,也就是你前端默认啥条件不选的时候不要展示全部的表,展示前两页或者有限条数的表,不然每次打开页面都是全表扫描,数据量到达一个量级以后,那是很头疼的一件事。

    2、sql语句尽量避免全连接查询,同上道理,你要查找的范围越大,你要花的时间要越长。

    3、在你知道查询语句的情况下,执行语句,并通过命令语句查看sql语句执行效率  

      3.1 查询在执行的sql ----show processlist 通过此条语句可以查看到有哪些语句在执行

      

       3.2 explain 语句 

        explain SELECT * FROM t

    ------------恢复内容结束------------

  • 相关阅读:
    静态变量和非静态实例变量的区别
    引用iScroll.js实现上拉和下拖刷新
    微信公众平台开发(一) 配置接口
    Javascript中event.srcElement和event.target的区别
    js执行环境的深入理解
    jQuery on()方法
    JAVA基本类库介绍
    Java程序员学习之路
    Java以基础类库
    jQuery插件的开发之$.extend(),与$.fn.extend()
  • 原文地址:https://www.cnblogs.com/zhaohongxiang/p/12829397.html
Copyright © 2011-2022 走看看