美文网首页
测试文章(测试使用)

测试文章(测试使用)

作者: Jafeney | 来源:发表于2022-02-14 00:26 被阅读0次

    另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考 ORM的权衡和抉择。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Linq查询能力很强另当别论),因为ORM屏蔽了太多的DB底层的知识内容,对程序员不是件好事,对性能有极致追求,但是ORM理解不透彻的团队更加要谨慎。

    案例剖析

    言归正传,为了实验,我创建了如下表:

    CREATE TABLE `T`(
    `id` int(11) NOT NULL,
    `a` int(11) DEFAUT NULL,
    PRIMARY KEY(`id`),
    KEY `a`(`a`)
    ) ENGINE=InnoDB;
    

    该表有三个字段,其中用id是主键索引,a是普通索引。

    首先SQL判断一个语句是不是慢查询语句,用的是语句的执行时间。他把语句执行时间跟long_query_time这个系统参数作比较,如果语句执行时间比它还大,就会把这个语句记录到慢查询日志里面,这个参数的默认值是10秒。当然在生产上,我们不会设置这么大,一般会设置1秒,对于一些比较敏感的业务,可能会设置一个比1秒还小的值。

    语句执行过程中有没有用到表的索引,可以通过explain一个语句的输出结果来看KEY的值不是NULL。

    我们看下 explain select * from t;的KEY结果是NULL

    file

      (图一)

    explain select * from t where id=2;的KEY结果是PRIMARY,就是我们常说的使用了主键索引

    file

     (图二)

    explain select a from t;的KEY结果是a,表示使用了a这个索引。

    file

     (图三)

    本文由博客一文多发平台 OpenWrite 发布!

    相关文章

      网友评论

          本文标题:测试文章(测试使用)

          本文链接:https://www.haomeiwen.com/subject/dvtclrtx.html