我有一个包含200万条消息的数据库。当用户接收到一条消息时,我需要根据单词出现的频率在我的数据库中查找相关的消息。
我尝试运行批处理来概括我的数据库: 1-存储所有消息中的单词(除了an、a、the、of、for等)。 2-创建所有消息和其中包含的单词之间的关联(我还存储了该单词在消息中出现的频率)。
然后,当我收到一条消息时: 1-解析单词(这看起来像是我批处理的第一步)。 2-执行查询以按相同单词数量排序获取消息。
但是,更新我的单词库的过程和查询相似消息的过程非常耗时且缓慢。对于3000字节的消息,单词库更新需要大约1.2111秒。查询相似消息需要大约9.8秒。
数据库调优已经完成,代码也可以正常工作。
我需要更好的算法来解决这个问题。
有任何想法吗?
我尝试运行批处理来概括我的数据库: 1-存储所有消息中的单词(除了an、a、the、of、for等)。 2-创建所有消息和其中包含的单词之间的关联(我还存储了该单词在消息中出现的频率)。
然后,当我收到一条消息时: 1-解析单词(这看起来像是我批处理的第一步)。 2-执行查询以按相同单词数量排序获取消息。
但是,更新我的单词库的过程和查询相似消息的过程非常耗时且缓慢。对于3000字节的消息,单词库更新需要大约1.2111秒。查询相似消息需要大约9.8秒。
数据库调优已经完成,代码也可以正常工作。
我需要更好的算法来解决这个问题。
有任何想法吗?