本文章以MySQL数据库为用例说明,列举出几个常用的提升查询速度的方式。
分页查询,在网络浏览中,经常会看到分页的使用,像百度搜索分页、文档资料分页等,这些都是一种常见的提升数据查询速度和用户体验的一种方式,数据库有limit关键字,开发人员可使用此关键字对数据进行分页查询,从而避免一次性查询大量的数据造成的时间等待。同时,常见的分页机制在10条~90条每页等,为方便业务开发,我们也可以在数据查询速度的临界点进行分页,比如每页10000条等。其他像分表查询也是一样的思路。
数据库缓存机制,软件开发业务中,查询机制基本都是在复用的,也就是说,每次的数据库查询的条件是一致的,所以我们可以开启数据库缓存机制,来提升查询速度,大家可修改数据库的配置文件或使用命令行修改数据库的配置,以本文数据库为例,修改配置文件:
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%"; 来查看缓存是否开启成功。
懒查询机制,所谓的懒查询,就是在业务中,用户需要查看大量的数据,先为他提供一部分数据,后续再慢慢将剩余数据传递给客户端
使用Redis缓存,在Java环境中,无论是Mybatis查询数据库还是使用代码连接查询数据库,都会含有一个数据库链接和查询的时间在其中,提升查询速度,我们可以采用进量避免这些时间的思路,使用Redis缓存,将数据库的查询结果放进Redis中,第二次请求时直接将Redis中的数据传递给客户端,这样即避免了重复的链接和查询。当业务数据发生改变时,只需要在接口方法中,更新Redis中的数据即可,这样提升了查询速度,又不影响用户的体验,也是一个非常可行的方式。
使用ES,全名为ElasticSearch,也叫搜索引擎,在小编看来,他是属于缓存意义上的数据库形式,在实践业务中,可以将需要的数据放进ES中,后续对ES检索,通过小编测试,ES搜索引擎的确比普通的数据库查询要高效。文章来源:https://www.toymoban.com/news/detail-522940.html
以上几个方案为小编认为常用的几种思路方式,供大家参考,如有其他更好更高效的方式,欢迎留言,与小编进行讨论。文章来源地址https://www.toymoban.com/news/detail-522940.html
到了这里,关于Java提升数据库大数据查询速度的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!