使用Java迭代数据花费的时间太长

我有三个mysql表:

  1. 顾客

  2. 抱怨

  3. 恢复

问题陈述::我有5万多个客户,我想搜索有恢复请求的客户。

该问题已得到很好的解决,并且可以正常工作, 但是问题是查询最多需要30分钟或更长的时间。

请指导我如何减少查询所花费的时间,或者如何加快搜索的速度?

这是mysql表的快速帮助ERD:

http://img2.mukewang.com/607fcaf900014e3306020310.jpg

再次说明一下,问题已解决且可以正常工作,但是由于数据库中有大量客户和投诉,查询花费了长达30分钟的时间

有什么技术可以减少查询时间或加快搜索速度?

JAVA CODE我有两种方法:

  1. getMultiSelectionCustomersProfiles(....)

  2. searchRecoveryRequest(字符串customerRegistrationCode)

注意:method2在method1中被调用


跃然一笑
浏览 243回答 1
1回答

江户川乱折腾

您的问题非常简单,您没有任何键/索引crm。customerprofile。您必须REG_CODE在表的列上添加一个键crm。customerprofile。每次尝试通过reg_code识别客户时,mysql需要读取50000行来查找。另一个有用的方法是:CUST_REG_NO表中的索引crm。complain
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java