博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库个人优化学习记录
阅读量:5938 次
发布时间:2019-06-19

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

才参加工作不久,很多代码习惯还没养成,昨天按要求写的数据库基本增删改查操作,在使用这些方法的时候,虽然能实现功能,但是效率低下,还可能产生内存问题,今天被项目经理一顿教育,在此记录学到的教训。

mybatis中重复的代码使用sql和include标签进行封装和调用

数据库操作使用的是mybatis框架,可以使用sql标签将经常重复的代码封装起来,就像java的方法一样,为了便于重复使用,sql语句中使用include标签来调用这段代码。

这样写的好处是,以后修改的时候只需要修改一处代码即可改动所有,例如使用dynamic标签动态生成的where条件判断语句,在多个sql语句中需要使用,可以将这段代码封装,在需要这种判断条件语句的时候,直接调用。
sql和include标签的使用:

对数据库的查询尽量拿到需要的最少数据

数据库的操作是需要非常谨慎的,对于数据的操作最多的无非就是增删改查,其中查询又是最频繁的。select查询语句可以获得大量的数据库数据,但是有的时候拿到全面的数据是不必要的,例如,页面做了分页查询,需要在页面显示一个总记录条目数,这个数据可以查询出所有的数据,存在一个list里面,再在java中size()出来,也可以直接sql语句(select count(1) from ***)查询出一个数值;如果仅仅只是为了拿到条目数这个值,第二种方法会比第一种方法的效率高很多,如果select查询出来的条目非常大,把所有的对象都拿出来,这样会对服务器内存造成非常大的压力,很多时候还会爆内存,导致服务器宕机。所以对数据库的查询尽量拿到需要数量的最少数据,完成功能。

转载于:https://www.cnblogs.com/zhaodazzle/p/5956702.html

你可能感兴趣的文章
Mybatis的配置文件和映射文件详解
查看>>
react 如何 阻止冒泡
查看>>
vue2.X 与 vue1.X 的区别
查看>>
nohup & 及端口查看
查看>>
ffmpeg 的log 获取办法
查看>>
rtmp流媒体协议播放遇到的坑
查看>>
Go 之旅四: 方法与接口篇
查看>>
Flask - cookies
查看>>
获取系统主题颜色
查看>>
P3041 [USACO12JAN]视频游戏的连击Video Game Combos
查看>>
CF1012C Hills
查看>>
男士必须收藏:男士健身方案
查看>>
03python面向对象编程2
查看>>
表格式布局让每个列高度等于该行最大高度
查看>>
Redis常用命令【字符串】
查看>>
ABP官方文档翻译 10.1 ABP Nuget包
查看>>
CentOS7 防火墙
查看>>
DataTable
查看>>
POJ 2226 Muddy Fields 二分图(难点在于建图)
查看>>
STM32软件仿真的一个注意点
查看>>