爱打lan球的程序员 2023-10-11 21:47 采纳率: 40%
浏览 6

JAVA—数据量太大如何查询

我从A系统里面取1万多个ID。B系统里面要用这些ID作为查询的条件。我用mysql里面in的话一是太长了,执行也慢。
我放sql外面用stream流的fliter过滤发现更慢了。
你们遇到这种情况一般怎么处理啊

  • 写回答

2条回答 默认 最新

  • 加加and减减 2023-10-12 10:34
    关注

    在处理大量数据查询时,有一些优化策略可以考虑:

    1. 使用分页:不要一次性查询所有数据,而是分页查询,每次查询一小部分数据。这可以减轻数据库的负担,并提高查询性能。

    2. 使用数据库索引:确保数据库表上的字段,如ID,都有适当的索引。索引可以加速查询操作。

    3. 考虑数据库分片:如果数据量非常大,可以考虑将数据库分成多个分片,每个分片只包含部分数据,这可以提高查询性能。

    4. 使用缓存:如果数据不经常变化,可以考虑将查询结果缓存起来,以减少数据库查询的频率。

    5. 优化SQL查询语句:确保你的SQL查询语句是高效的,使用合适的JOIN操作,避免使用复杂的子查询。

    6. 使用合适的数据结构:如果可能的话,考虑将数据加载到内存中使用合适的数据结构,如哈希表,以加快查询速度。

    7. 考虑使用数据库批量操作:有些数据库支持批量插入或更新操作,这可以减少与数据库的交互次数,提高效率。

    最终的优化策略主要是取决于你自己的具体情况和系统架构,你可以根据系统的需求和性能测试结果来选择适合的方法。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月11日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!