博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录一个数据表联合查询过慢的“小坑”
阅读量:4325 次
发布时间:2019-06-06

本文共 497 字,大约阅读时间需要 1 分钟。

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

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

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

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

转载于:https://www.cnblogs.com/xujanus/p/4444441.html

你可能感兴趣的文章
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_1 搭建环境
查看>>
阶段3 3.SpringMVC·_03.SpringMVC常用注解_8 SessionAttributes注解
查看>>
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_3 响应之返回值是void类型...
查看>>
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_2 响应之返回值是String类型...
查看>>
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_4 响应之返回值是ModelAndView类型...
查看>>
阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_01.SpringMVC概述及入门案例
查看>>
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_6 响应json数据之过滤静态资源...
查看>>
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_5 响应之使用forward和redirect进行页面跳转...
查看>>
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_8 响应json数据之响应json格式数据...
查看>>
阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_7 响应json数据之发送ajax的请求...
查看>>
阶段3 3.SpringMVC·_05.文件上传_2 文件上传之传统方式上传代码回顾
查看>>
阶段3 3.SpringMVC·_05.文件上传_1 文件上传之上传原理分析和搭建环境
查看>>
阶段3 3.SpringMVC·_05.文件上传_4 文件上传之Springmvc方式上传代码
查看>>
阶段3 3.SpringMVC·_05.文件上传_3 文件上传之Springmvc方式上传原理分析
查看>>
阶段3 3.SpringMVC·_05.文件上传_6 文件上传之跨服务器上传代码
查看>>
阶段3 3.SpringMVC·_05.文件上传_5 文件上传之跨服务器上传分析和搭建环境
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_1 SpringMVC异常处理之分析和搭建环境
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_4 SpringMVC拦截器之介绍和搭建环境
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_6 SpringMVC拦截器之拦截器入门代码
查看>>
阶段3 3.SpringMVC·_06.异常处理及拦截器_2 SpringMVC异常处理之演示程序异常
查看>>