文档章节

实际项目中的SQL语句

solverpeng
 solverpeng
发布于 2016/06/06 19:22
字数 450
阅读 79
收藏 1

1.select语句中避免出现*,如有需要列出所查询的字段名。即使查询表中所有字段,也要将字段列出来,尽量按字段在表中定义的顺序列出。

2.表间关联查询时,where条件最左边写表间的关联字段,再写过滤条件,并且按照过滤条件过滤越多的,或者按照过滤条件查询的更少的,尽量放在where条件的最左边。

3.单表操作的DML语句,如select,insert,update,delete可以直接通过HQL来操作。但涉及到表和表之间关联的复杂查询时,建议通过jdbc来进行查询。

4.sql语句中出现需要通过函数将列和所给条件值比较的,应该尽量将函数加在值上,而不是列上。

5.为避免sql入侵,采用PrepareStatement的方式来执行命令。

6.涉及到批量执行insert,update,delete时,应该考虑使用batch方式批量执行sql,而不是分次执行多个sql。

7.创建视图时,不要指定definer,如DEFINER=`sa`@`%`,应该由当前执行sql的用户去自动匹配,一把都是授权给root用户。否则或报错。

8.如果通过alter添加列,必须指定该列要添加的位置,用after语句,如果不指定after语句,默认是加到表的最后的,这样不符合规范。

9.sql语句条件比较时,数字类型的不要在值上加单引号,即不要让数据库引擎进行二次转换。原则是保证列和要比较的值是同一个类型。

10.sql中少用嵌套in查询,改为join查询。

© 著作权归作者所有

共有 人打赏支持
solverpeng

solverpeng

粉丝 11
博文 87
码字总数 40353
作品 0
朝阳
程序员
私信 提问
JAVA持久层框架的概述(ibatis>>mybatis)

现在主流的ORM映射框架有Hibernate、Apache OJB;这些基于Java的持久层框架都提供了全自动的对象–关系映射机制,能很好的实现从对象到关系数据的持久化操作。几乎不需要写任何的SQL语句(根据...

battier
2011/06/21
0
2
求javaWeb大神们戳入,有一些Hibernate上面的疑惑~

我有一个朋友,他在做一个项目,上次让我做一个模块,把源码发给我了,他是用SSH做的,可是在Hibernate里面用了很多的SQL语句,大多是连表查询,可是我个人感觉很多地方用hql语句貌似更方便些...

上帝爱众生
2015/04/18
65
1
mybatis官方文档知识点梳理

一、数据库字段别名 在实际项目中,切换了数据库系统,但是为了减少系统变化太大,不更改Controller和Service层的代码,我想了一个方法结合mybatis的别名,下面是别名的使用方法: 或者 二、...

小车车
2016/09/24
19
0
sql 查询模块

已经好久没弄博客了,觉得该写些了。但是没想到写些什么,很多东西院子已经很多了。就把我最近在项目中的一个模块:SQL查询语句生成 本模块实现了SQL查询的join(inner,left,right),whe...

zting科技
2017/01/10
0
0
mysql的sql执行计划详解

实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表、怎样使用索引的,因此,我们能感知到的就只有 sql语句运行的时间,在数据规模不大时,查询是...

重庆_杨静
2018/04/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Akka实战:HTTP大文件断点上传、下载,秒传

访问:https://github.com/yangbajing/scala-applications/tree/master/file-upload 获取本文所述完整源码,包括Akka HTTP后端和HTML5实现的前端。 在很多应用里面都会有类似大文件上传的需求...

羊八井
30分钟前
2
0
node:event-loop & 宏任务 & 微任务

event-loop(事件轮询) 代码进入执行栈后会判断当前代码是同步任务还是异步任务,如果是同步任务则会将任务调到主线程同步执行,如果是异步任务则会将任务调到异步队列中。 主线程同步任务执...

小草先森
34分钟前
2
0
php-fpm配置文件详解

php-fpm配置文件详解 php-fpm配置文件路径: /usr/local/php-fpm/etc/php-fpm.conf ,还包含了一个配置文件路径下的所有以.conf结尾的配置文件(子配置文件)/usr/local/php-fpm/etc/php-fp...

李超小牛子
55分钟前
4
0
排序-堆排序

在说明堆排序的过程前得先了解什么是堆: 先看下图(来源于java数据结构和算法(第二版)): 堆是个完全二叉树,并且父节点总是大于(小于)它的孩子,因此根节点永远是最大或者最小的元素。...

FAT_mt
今天
3
0
matlab-自控原理 秩判据 能观性 已知线性定常系统的A和C矩阵

  matlab : R2018a 64bit     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   code clearclc% x'=A*x......

志成就
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部