Java提升数据库大数据查询速度的几种方式

这篇具有很好参考价值的文章主要介绍了Java提升数据库大数据查询速度的几种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库大量数据如何快速查询,大数据查询速度,数据库,java,mysql,Powered by 金山文档

本文章以MySQL数据库为用例说明,列举出几个常用的提升查询速度的方式。

  1. 分页查询,在网络浏览中,经常会看到分页的使用,像百度搜索分页、文档资料分页等,这些都是一种常见的提升数据查询速度和用户体验的一种方式,数据库有limit关键字,开发人员可使用此关键字对数据进行分页查询,从而避免一次性查询大量的数据造成的时间等待。同时,常见的分页机制在10条~90条每页等,为方便业务开发,我们也可以在数据查询速度的临界点进行分页,比如每页10000条等。其他像分表查询也是一样的思路。

数据库大量数据如何快速查询,大数据查询速度,数据库,java,mysql,Powered by 金山文档
  1. 数据库缓存机制,软件开发业务中,查询机制基本都是在复用的,也就是说,每次的数据库查询的条件是一致的,所以我们可以开启数据库缓存机制,来提升查询速度,大家可修改数据库的配置文件或使用命令行修改数据库的配置,以本文数据库为例,修改配置文件:

windows:

需要注意的是:一般数据库的服务路径在:C:\Program Files\MySQL\MySQL Server 5.7,配置路径在:C:\ProgramData\MySQL\MySQL Server 5.7,配置文件是在配置路径中,文件为my.ini

query_cache_type = 1

 query_cache_size = 600000

Linux:文件为my.cnf

命令行方式:

set global query_cache_type = 1;

 set global query_cache_size = 600000;

修改完毕后必须要重启数据库服务才会生效,命令行或数据库查询工具(SQL语句执行工具),执行:show variables like "%query_cache%";  来查看缓存是否开启成功。

  1. 懒查询机制,所谓的懒查询,就是在业务中,用户需要查看大量的数据,先为他提供一部分数据,后续再慢慢将剩余数据传递给客户端

  1. 使用Redis缓存,在Java环境中,无论是Mybatis查询数据库还是使用代码连接查询数据库,都会含有一个数据库链接和查询的时间在其中,提升查询速度,我们可以采用进量避免这些时间的思路,使用Redis缓存,将数据库的查询结果放进Redis中,第二次请求时直接将Redis中的数据传递给客户端,这样即避免了重复的链接和查询。当业务数据发生改变时,只需要在接口方法中,更新Redis中的数据即可,这样提升了查询速度,又不影响用户的体验,也是一个非常可行的方式。

  1. 使用ES,全名为ElasticSearch,也叫搜索引擎,在小编看来,他是属于缓存意义上的数据库形式,在实践业务中,可以将需要的数据放进ES中,后续对ES检索,通过小编测试,ES搜索引擎的确比普通的数据库查询要高效。

数据库大量数据如何快速查询,大数据查询速度,数据库,java,mysql,Powered by 金山文档

以上几个方案为小编认为常用的几种思路方式,供大家参考,如有其他更好更高效的方式,欢迎留言,与小编进行讨论。文章来源地址https://www.toymoban.com/news/detail-522940.html

到了这里,关于Java提升数据库大数据查询速度的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】Mybatis查询数据库

    经过前面的学习Spring系列的操作已经差不多了,接下来我们继续学习更加重要的知识,将前端传递的参数存储起来,或者查询数据库里面的数据 MyBatis是款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis几乎祛除了所有的JDBC代码以及设置参数和获取结果集

    2024年01月18日
    浏览(60)
  • 【java爬虫】将优惠券数据存入数据库排序查询

    本文是在之前两篇文章的基础上进行写作的 (1条消息) 【java爬虫】使用selenium爬取优惠券_haohulala的博客-CSDN博客 (1条消息) 【java爬虫】使用selenium获取某宝联盟淘口令_haohulala的博客-CSDN博客  前两篇文章介绍了如何获取优惠券的基础信息,本文将获取到的基本信息存到数据库中

    2024年02月16日
    浏览(52)
  • java八股文面试[数据库]——慢查询优化

    分析慢查询日志 直接分析慢查询日志, mysql使用 explain + sql语句进行模拟优化器来执行分析。 oracle使用explain plan for + sql语句进行模拟优化器来执行分析。 table | type | possible_keys | key |key_len | ref | rows | Extra EXPLAIN列的解释: table 显示这一行的数据是关于哪张表的 type 这是重要的

    2024年02月10日
    浏览(38)
  • Java EE 突击 13 - MyBatis 查询数据库(2)

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月11日
    浏览(51)
  • java serverlets使用数据源连接oracle数据库,并执行查询操作代码

    package chap03; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.PreparedStatement; import java.sql.Statement; import java.util.*; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.Namin

    2024年02月08日
    浏览(54)
  • 查询速度提升15倍!银联商务基于 Apache Doris 的数据平台升级实践

    本文导读: 在长期服务广大规模商户的过程中,银联商务已沉淀了庞大、真实、优质的数据资产数据,这些数据不仅是银联商务开启新增长曲线的基础,更是进一步服务好商户的关键支撑。为更好提供数据服务,银联商务实现了从 Hadoop 到 Apache Doris 的架构升级,使数据 导入

    2024年02月02日
    浏览(55)
  • 【Java】Mybatis查询数据库返回JSON格式的字段映射到实体类属性

    今天遇到了一个bug,大概就是数据库(Mysql)中有一个 type 类型字段,数据类型为json,大概是这样的:[“苹果”,“香蕉”,“葡萄”]的数据格式,这个bug的问题所在呢就是查询后这个json格式的数据无法映射到我们实体类的属性上,解决方案如下: 实体类的配置: @TableField

    2024年02月15日
    浏览(47)
  • 数据库原理-数据查询 单表查询【二】

    聚集函数: 统计元组个数 COUNT(*) 统计一列中值的个数 COUNT([DISTINCT|ALL]列名) 计算一列值的总和(此列必须为数值型) SUM([DISTINCT|[ALL]列名) 计算一列值的平均值(此列必须为数值型) AVG([DISTINCT|ALL]列名) 求一列中的最大值和最小值 MAX([DISTINCT|ALL]列名) MIN([DISTINCT|ALL]列名) 查询学

    2024年02月03日
    浏览(45)
  • Mybaits:数据库查询类型不匹配,java.sql.SQLDataException: Cannot determine value type from string

    目录 一.问题描述 二.源码分析 三.总结 事情的起因是用MybaitsPlus查询数据库过程中,查询结果与要封装的实体类字段类型对应不上,类似这样: 数据库查询结果: java实体类: 字段名字和实体类的名字类型都能对应上,但最后的查询结果却会报错java.sql.SQLDataException: Cannot d

    2024年02月03日
    浏览(66)
  • 数据库实验一:基本表操作、基本数据查询和复杂数据查询

    按下图创建四个表:teacher、student、course和SC,为属性选择合适的域、合适的主码和外键约束,并为他们插入所列出数据; 中文语义 teacher (TID,TNAME,DEPT,SALARY) 教师(教工号,姓名,系,薪水) student (SID,SNAME,DEPT,AGE,GENDER) 学生(学号,姓名,系,年龄,性别) course (CID,CNAME,DE

    2024年02月01日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包