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

      上一篇讲到了查看慢查询日志可以查看sql语句,下边讲一下,如何优化查询,那就涉及到索引,索引就像书籍的目录,查询数据库不能只是简单的进行全表扫描,要根据索引找到对应的章节,对应的页面,对应的地址空间,然后返回数据,mysql 数据库的存储引擎是这么解释执行sql语句的,底层innoDB 存储引擎是这么执行的,如果建表的时候加了索引,根据索引查找会提高效率,原则”尽量使用主键查询“ 这个就涉及到数据库底层的存储结构,索引以B+ tree结构存储,索引越小 占用的存储空间越小 例子  建表语句


    mysql> create table T (
    ID int primary key,
    k int NOT NULL DEFAULT 0,
    s varchar(16) NOT NULL DEFAULT '',
    index k(k))
    engine=InnoDB;

    insert into T values(100,1, 'aa'),(200,2,'bb'),(300,3,'cc'),(500,5,'ee'),(600,6,'ff'),(700,7,'gg');

    查询语句

    select * from T where k between 3 and 5 和  

    select ID from T where k between 3 and 5

    以上两个比较,第一个语句涉及到两次回表,即查询开销增大 第二个不需要回表,可以以第二个为主

    作为一个测试人员,先学到这吧,比较优化还是开发人员的工作,测试能分析定位问题就基本提供了方向

  • 相关阅读:
    闭包概念集合
    对象的基本方法
    webpack始出来
    elasticsearch性能调优
    elasticsearch 倒排索引学习
    elasticearch 归并策略
    更加详细的Log4net的配置
    第一篇博客关于Log4net的配置记录
    js数组小结
    javascript在不同的浏览器处理事件
  • 原文地址:https://www.cnblogs.com/zhaohongxiang/p/12830814.html
Copyright © 2011-2022 走看看