MyBatis/数据库
文章平均质量分 70
MyBatis/数据库
济南大飞哥
代码洁癖+努力学好知识的一块块,不求多,但求专精。
展开
-
数据库设计——关系字段放置最佳实践
一对一和一对多使用的最多,他们不需要设计单独的关系表,只有真正的多对多才需要关系表。在实际的实践中,大部分情况下都用不到多对多。有些人把一对多也设计了关系表,这是不合理的,这会导致关系和关系对应的数据隔离,增加查询的复杂性。所以针对一对多,你在怀疑他是不是多对多时,只需要反方向看下是否也是一对多就可以了,如果不是,那么他不是多对多。一个学生可以选择多个课程,一个课程可以被多个学生选择,此时学生选课的关系需要一张单独的表来存储。一对多关系:将外键放在多的一侧,这是标准做法,确保数据完整性和查询效率。原创 2024-07-17 16:26:34 · 234 阅读 · 0 评论 -
总是给数据库表字段设置默认值的好处
通过设置字段不能为空,可以确保每条记录都包含必要的数据,从而保证了数据的完整性。例如,在用户表中,用户名字段不能为空可以确保每个用户都有一个有效的用户名。避免空值问题在数据库查询和数据处理过程中,空值(NULL)可能会导致各种问题,如计算错误、逻辑错误等。通过设置默认值,可以避免这些潜在问题,使数据处理更加稳定和可靠。通过设置默认值,可以确保在缺少明确值时,字段总是有一个一致的值。例如,如果性别字段的默认值设置为'未指定',就不会出现性别为空的情况,从而保证数据的一致性。优化性能。原创 2024-06-19 19:18:58 · 667 阅读 · 2 评论 -
Mybatis 解决 Sql In 参数过多的问题
可以参考这篇文章。sql In 是用内层驱动外层,一般用在数据量比较小的时候,而且条件上有索引,一般也会走到索引。但是如果in里的参数过多,mysql可能会放弃走索引,进而进行全表扫描,影响效率。这种情况可以把in里的参数拆分,使得sql重新走上索引,多个结果走索引后再合并,也比全表扫描快。原创 2022-07-14 16:51:07 · 5171 阅读 · 0 评论 -
Mysql面试题以及答案
1 基础1 基础1.1、MySQL有哪些数据库类型?数值类型有包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别表示 1 字节、2 字节、3 字节、4 字节、8 字节的整数类型。1)任何整数类型都可以加上 UNSIGNED 属性,表示无符号整数。2)任何整数类型都可以指定长度,但它不会限制数据的合法长度,仅仅限制了显示长度。包括 VARCHAR、CHAR、TEXT、BLOB。CHAR和VARCHARCHARCHARCHARCHAR(10)CHARCHAR。原创 2024-03-21 12:01:08 · 1296 阅读 · 0 评论 -
Mysql索引失效的情况
MySQL索引的使用能够显著提高查询效率,但在某些情况下,索引可能不会被利用,这就是所谓的索引失效。理解和避免这些情况有助于优化查询性能。原创 2024-03-31 23:16:05 · 470 阅读 · 0 评论 -
Mybatis常见面试题总结
MyBatis的底层操作封装了JDBC的API,MyBatis的工作原理以及核心流程与JDBC的使用步骤一脉相承,MyBatis的核心对象(SqlSession,Executor)与JDBC的核心对象(Connection,Statement)相互对应。站长给广大初学者提供的学习建议是:从JDBC入手并立足于JDBC,才能深入的理解MyBatis的工作原理以及核心流程。关于JDBC的详细介绍,可以参考本文文末。原创 2021-02-07 13:40:31 · 133 阅读 · 1 评论 -
Mybatis二级缓存
而二级缓存由于作用域更广,不当的使用可能会导致数据不一致的情况,因此在启用二级缓存时需要更加谨慎,并考虑适当的缓存策略和失效机制。在这种情况下,缓存管理将变得更加复杂,因为你可能需要实现更复杂的缓存失效策略,以确保当一个表的数据发生变化时,其他相关表的缓存也能相应地更新。:尽量将对同一个表的操作集中在同一个 Mapper 中,这样同一个表的所有相关操作都会使用相同的缓存区域,降低数据不一致的风险。在设计缓存策略时,重要的是要考虑到数据一致性、系统的复杂性以及缓存带来的性能提升,做出适当的权衡。原创 2021-02-07 13:36:54 · 98 阅读 · 1 评论 -
MyBatis 的懒加载原理
懒加载的原理是在第一次执行查询时,并不立即加载所有关联的对象,而是返回一个代理(Proxy)对象。MyBatis 的懒加载是指在实际需要使用关联对象的数据时才去查询并加载这些数据。在MyBatis中,懒加载主要应用于关联查询的场景,比如一对一、一对多或多对多的关系。:在执行业务代码时,当第一次访问代理对象的某个属性或方法时,MyBatis 会触发懒加载,执行必要的SQL查询并填充代理对象的数据。懒加载是一种优化手段,它可以推迟数据加载的时间,减少不必要的数据库查询,从而提高应用程序的性能。原创 2021-02-07 13:35:47 · 349 阅读 · 1 评论