zoukankan      html  css  js  c++  java
  • 记录一个数据表联合查询过慢的“小坑”

      之前给同事开发了一个功能模块,主要是一些记录的查询和录入。过了一个月同事来找我,说发现这个功能模块打开很慢,一查数据库发现,原来是我当初写的SQL有问题,left join了一张主要数据表,而刚好关联的那个字段又没加索引,导致查询异常缓慢。线上立刻加了索引,分分钟搞定。但是回头一想,为什么这么简单功能出错了,之前其它几个模块都没事?整理了下思绪发现有以下几点:

      1.主要功能模块之前的联合查询,一般使用主键来关联,因为本身就是索引,所以查询效率比较高。而这次查询刚好是一个后来增加的字段,忘记加索引了。

      2.其它有些关联查询,虽然查询的表的字段也不是主键,但是数据本身量不大(比如后台用户表),因此也没有太大的问题。但是这次的模块虽然功能简单,但是录入的数据量不少,几百上千条数据下去,效率立马直线下降。

      3.本次的模块开发,因为比较简单,时间上又比较冲忙,考虑的不够周全,应该考虑关联的表数据大小和业务发展,在数据库里把该做的优化给做了,这样才不会造成功能模块的查询问题。

  • 相关阅读:
    事务
    XML小总结
    java中array,arrayList,iterator;
    MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)
    RHCE7认证学习笔记17——KickStart安装系统
    CentOS中安装MySQL数据库
    centos下搭建svn服务器端/客户端
    AWS安装CDH5.3-CentOS6.4中关键操作步骤
    AWS安装CDH5.3-CentOS6.4
    [转]Servlet 工作原理解析
  • 原文地址:https://www.cnblogs.com/xujanus/p/4444441.html
Copyright © 2011-2022 走看看