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

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

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

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

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

  • 相关阅读:
    linux下tomcat内存溢出
    leetcode
    HDU 4810 Wall Painting (位操作-异或)
    详解Java中的访问控制修饰符(public, protected, default, private)
    mpvue开发微信小程序之时间+日期选择器
    多行文本溢出隐藏
    swift 多态函数方式
    swift 多态函数方式
    swift 多态函数方式
    swift 多态函数方式
  • 原文地址:https://www.cnblogs.com/xujanus/p/4444441.html
Copyright © 2011-2022 走看看