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

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

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

  • 相关阅读:
    关于事务
    jquery弹出框
    ??(怕忘记 特此记录)
    .net事务
    揭开iphone4 4S 5 之间的内幕!这次你们该相信了吧!
    net得到当前时间
    aspnet ajax2.0下载安装包 msi
    jquery css 逐渐增加div的大小
    DataTable转换为Json对象
    安装EntityFramework
  • 原文地址:https://www.cnblogs.com/zhaohongxiang/p/12830814.html
Copyright © 2011-2022 走看看