数据库
文章平均质量分 81
洪宏鸿
一个能文能武的全栈开发 :)
展开
-
防止 SQL 注入
防止 SQL 注入是在使用 Spring Boot 开发 Web 应用程序时必须关注的重要安全问题。通过遵循以下四个步骤,我们可以有效地预防 SQL使用参数化查询。使用 JPA 或其他 ORM 框架。验证和过滤用户输入。设置最小权限原则。结合这些方法,我们可以确保我们的应用程序在面对 SQL 注入攻击时能够保持数据安全。原创 2023-04-26 11:56:21 · 2690 阅读 · 0 评论 -
JdbcTemplate、JPA和MyBatis效率还是易用,你说了算
在执行效率方面,JdbcTemplate通常会有更好的性能,因为它允许直接编写SQL语句并有更多的控制权。MyBatis在性能和便捷性之间取得了平衡,而JPA则以自动化和简化为主要优势,但可能在某些情况下性能较差。原创 2023-04-30 23:12:23 · 1551 阅读 · 0 评论 -
SQL 优化将较小的表放在连接顺序的前面, 不我偏不, 阿不一定
如果优化器用了 Nested-Loop Join 嵌套连接的话, 那么我们使用小表连接大表, 那么效率有所提升, 毕竟如果刚好关联到大表中的列有索引, 又索引采用B+树的缘故, 我们速度得到有效提升, nice~实际上,MySQL 查询优化器会根据表的具体情况(如数据量、索引等)来选择更加高效的执行计划。在实际应用中,可以使用 `EXPLAIN` 命令分析查询计划,找出性能瓶颈,然后针对性地进行优化。原创 2023-04-10 00:36:20 · 979 阅读 · 0 评论 -
mysql 多表关联查询如何改进
在进行多表关联查询时,可以通过使用正确的连接类型、优化 WHERE 子句、为关联字段创建索引、减少查询的字段、考虑使用分布式查询、尽量避免子查询、优化连接顺序、利用 EXPLAIN 分析查询、分解复杂查询和使用视图或存储过程等方法来提高查询性能。原创 2023-04-10 00:36:03 · 4783 阅读 · 2 评论 -
MySQL 具有 ORDER BY 子句的查询中,如何利用索引的有序性来提高查询性能
如果有 order by 的场景,请注意利用索引的有序性。order by 最后的字段是组合索引的一部分,并且放在索引组合顺序的最后,避免出现 file_sort 的情况,影响查询性能原创 2023-04-10 00:33:12 · 434 阅读 · 0 评论 -
mysql 利用延迟关联或者子查询优化超多分页场景
利用延迟关联或者子查询优化超多分页场景在实际应用中,你可以根据当前页数判断是否需要改写SQL。例如,如果当前页数小于特定阈值,可以使用OFFSET和LIMIT进行分页;如果当前页数超过阈值,则改为使用基于ID的查询。这样可以在不同的场景下实现性能的优化原创 2023-04-10 00:35:40 · 1171 阅读 · 0 评论 -
如何利用 ShardingSphere 查看mysql分库分表下 SQL物理执行计划, 加上 skywalking 如何?
ShardingSphere 是一个中间件,它可能会对 SQL 执行计划产生一定影响。但是,通过查看每个分片的执行计划,您可以更好地了解查询在分片数据库中的性能表现,并据此对查询进行优化。可以通过集成 SkyWalking 和 ShardingSphere 来实现对分库分表中分片执行情况的链路追踪原创 2023-04-10 00:32:35 · 548 阅读 · 0 评论 -
mysql索引有哪些缺点,有哪些类型
索引类型可以根据实际需求和数据特点进行选择,以优化查询性能和确保数据完整性。原创 2023-04-10 00:32:18 · 597 阅读 · 0 评论 -
mysql 数据库执行计划之type字段连连看, 根据数据库计划优化
从 all 类型优化到 system 类型可能在某些情况下是不切实际的。实际情况取决于表结构、查询需求、数据分布等因素。根据具体情况选择合适的优化策略是关键原创 2023-04-09 16:52:00 · 992 阅读 · 0 评论 -
数据库建立组合索引时应该遵循的规则, 精确查找先,范围查找后,尽管区分度高
创建组合索引时需要考虑列的顺序。如果需要根据某个列进行精确匹配,那么应该将这个列放在索引的最前面;如果需要根据多个列进行排序或者范围查询,那么应该将这些列放在索引的后面。此外,组合索引的列数应该尽可能少,否则可能会影响索引的效率和性能。原创 2023-04-09 15:13:50 · 1059 阅读 · 1 评论 -
@Transactional 事务不要滥用, 要考虑各方面的回滚方案哦
@Transactional 事务不要滥用。事务会影响数据库的 QPS,另外使用事务的地方需要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正等, 帮我介绍事务的回滚方案原创 2023-04-09 15:15:12 · 654 阅读 · 0 评论 -
@Transactional 事务不要滥用, 要考虑各方面的回滚方案哦
@Transactional 事务不要滥用。事务会影响数据库的 QPS,另外使用事务的地方需要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正等, 帮我介绍事务的回滚方案原创 2023-04-09 14:43:31 · 694 阅读 · 0 评论 -
springboot中进行单元测试, 和数据库相关的单元测试,可以设定自动回滚机制, 我要怎么设定自动回滚呢?事务自动提交呢
自动提交事务可能会对数据库产生影响,尤其是在测试方法中对数据库进行修改操作时。建议在进行单元测试时,使用自动回滚机制来保证测试的准确性和稳定性。如果您确实需要使用自动提交事务,请谨慎使用,并注意测试方法中对数据库操作的影响。和数据库相关的单元测试,可以设定自动回滚机制, 我要怎么设定自动回滚呢?原创 2023-04-09 12:12:32 · 1093 阅读 · 0 评论 -
jpa是如何进行批量数据库操作, 还不够, 分阶段提交怎么样?
每次提交事务后,JPA 会将缓存中的数据清空,以便加载新的数据。这样可以防止内存溢出和数据库连接超时的问题。另外,在进行分阶段批量更新操作时,应该根据实际情况来调整阶段大小,以便达到最佳的性能和稳定性原创 2023-04-09 12:00:17 · 901 阅读 · 0 评论 -
jdk8的时间表示, 你真的在乎吗?
java8中, 时间使用上可以使用 Instant 代替 Date,LocalDateTime 代替 Calendar,DateTimeFormatter 代替 SimpleDateFormat,mysql的时间相关字段对应, springboot中, 我要如何考虑时区问题原创 2023-04-07 00:09:56 · 367 阅读 · 0 评论 -
springboot应用mysql数据库服务器在不同时区会有时区问题吗?
在将时间数据存储到数据库时,所使用的时区取决于MySQL JDBC驱动程序的时区。例如,当`serverTimezone`设置为`UTC+8`时,MySQL JDBC驱动程序将在插入和查询时间数据时使用`UTC+8`时区。请注意,虽然这种配置方式可以确保应用程序与数据库之间的时间数据一致性,但如果有其他应用程序或服务也访问同一数据库,且它们使用不同的时区配置,可能会导致数据不一致。为了避免这种情况,通常建议将所有时间数据统一存储为UTC时间,并在需要时在应用程序中进行时区转换。原创 2023-04-07 00:09:35 · 591 阅读 · 0 评论 -
你好快哦, HikariCP
HikariCP 在性能、资源占用、配置简单等方面都具有很多优势,这也是为什么 HikariCP 被认为是世界上最快的数据库连接池之一原创 2023-04-06 12:03:35 · 546 阅读 · 0 评论 -
常用的 Druid 参数
Druid 是一个功能强大的连接池,支持众多的参数配置,以下是一些常用的 Druid 参数原创 2023-04-06 11:53:38 · 2738 阅读 · 1 评论 -
druid之连接空闲超时问题FIX
在实际应用中,需要权衡性能和稳定性,根据具体情况选择合适的参数配置原创 2023-04-06 11:37:49 · 6436 阅读 · 1 评论 -
c3p0创建连接池
package com.hong.dao;import java.beans.PropertyVetoException;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.juni原创 2018-01-19 00:27:04 · 528 阅读 · 0 评论 -
dbcp创建连接池
package com.hong.dao;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;i原创 2018-01-19 00:26:15 · 448 阅读 · 0 评论 -
自定义连接池
package com.hong.dao;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.sql.Connection;import java.sql.DriverManager;import ja原创 2018-01-19 00:23:24 · 229 阅读 · 0 评论 -
dbutils包中QueryRunner的应用
import static org.junit.Assert.*;import java.sql.Connection;import java.sql.SQLException;import java.util.List;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.ha原创 2018-01-19 00:15:27 · 771 阅读 · 0 评论