一、数据库中的表关系: 一对一关系 一个人对应一张身份证,一张身份证对应一个人,一对一关系是最好理解的一种关系,在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面 一对多关系 一个班级拥有多个学生,一个学生只能够属于某个班级,班级是1端,学生是多端,结合面向对 ...
分类:
Web程序 时间:
2019-11-10 17:54:08
阅读次数:
149
一、项目慢查询问题 1、在使用多表关联查询并排序后,接口把数据给到前端并在界面渲染成功的总体时间较长,需要进行优化,在时间有限的情况下,只能对SQL语句进行优化,想到的方案是做中间表,但需要些时间,会影响上线时间,根据该功能的使用场景及优先级,最后决定先做SQL优化,后续进行迭代调整。 2、在弱网环 ...
分类:
其他好文 时间:
2019-11-07 23:46:14
阅读次数:
80
在常见的sql中,我们经常在查询中进行多表关联查询,用的比较熟练。今天在开发中遇到一个实际业务场景是多表关联更新,一时不知所措。本着多学习的态度,没有直接写java代码去实现,终于把多表关联更新的sql弄清楚了。下面将实际业务场景进行简化,分别有person表和information表,最终目的是将 ...
分类:
数据库 时间:
2019-10-30 00:00:18
阅读次数:
129
1、为什么要进行SQL优化? 1.1 查询性能低 1.2 执行时间过长 1.3 等待时间过长 1.4 SQL写的太差(尤其是多表关联查询) 1.5 索引失效 1.6 服务器参数(缓存、线程数)设置不合理 1.7 项目需求不合理 ...... 程序员关注的主要是SQL、索引 2、MySQL执行过程 2 ...
分类:
数据库 时间:
2019-10-18 16:12:15
阅读次数:
113
一、是否查询了不需要的数据 1.多使用limit来分页 2.不要用select *,特别是在多表关联的时候 3.避免重复查询相同的数据,可以多使用缓存 二、正确使用索引 如何正确使用索引见上一篇文章《MySQL索引》,这里再补充几个索引失效的案例: key(last_name, first_name ...
分类:
数据库 时间:
2019-10-17 19:15:26
阅读次数:
107
SpringBoot项目通常配合TKMybatis或MyBatis-Plus来做数据的持久化。 对于单表的增删改查,TKMybatis优雅简洁,无需像传统mybatis那样在mapper.xml文件里定义sql。 我们目前的项目呢,有一些数据分析的需求,涉及到多表关联、嵌套子查询等复杂的sql。 那 ...
分类:
移动开发 时间:
2019-10-12 20:48:42
阅读次数:
522
日常的开发中一般都是写的单表update语句,很少写多表关联的update。 不同于SQL Server,在Oracle中,update的多表连接更新和select的多表连接查询在使用的方法上存在较大差异。 语法比较难以说得清楚,直接上例子就妥了。 特别之处在于,两个表之间的关联关系是在子查询中的W ...
分类:
数据库 时间:
2019-10-05 10:42:42
阅读次数:
95
MyBatis 注解方式就是将 SQL 语句直接写在DAO层的接口上。 在黑马2018年录制的双元视频课:\08 SSM整合案例【企业权限管理系统】\07.订单操作 有使用mybatis注解进行多表关联查询的案例,在下文会有使用注解的补充说明。 这种方式的优点是 , 对于需求比较简单的系统,效率较高 ...
分类:
其他好文 时间:
2019-09-22 19:13:34
阅读次数:
121
前面几节都是单表查询,但是实际中一定会用到多表关联查询,本节将介绍关联表查询的实现 1.一对一关联 1.1创建数据表和添加数据 创建教师表和班级表,一个班级对应一个教师,这是一对一关联 1.2定义实体类 1.3 定义 sql 映射文件 ClassMapper.xml <association>用来连 ...
分类:
其他好文 时间:
2019-09-01 18:41:15
阅读次数:
96