Mysql 大型结果集的多重排序
我有一个很大的Mysql表(大约200万行)。我想在它上运行搜索,可能会匹配多达25k行(返回的结果将受到限制[例如每页25行])。我想做的是根据cetain标准对这些结果进行排序,并使用这些标准对结果进行排序 到目前为止,我的解决方案是创建一个脚本,遍历该表,并根据我的标准为每一行分配一个分数。每个结果都会根据它与我的理想结果的比较情况给予分数。然后,我可以在执行select时按该分数排序,而不是动态计算 我当时想,我希望该系统的其他用户能够设置自己的自定义评分标准。我的第一个想法是创建一个单独的表,其中包含第一个表的行id、用户id和排名。但我认为这个表可能会非常大(每个用户有200万行)。因此,到目前为止,我正在考虑的备选方案有: 1) 使用单独的排名表 2) 使用特定于用户的排名表 3) 仓促计算 有人有过类似问题的经验吗?用户将实时搜索结果,因此我主要关心的是尽可能快地完成这部分过程Mysql 大型结果集的多重排序,mysql,Mysql,我有一个很大的Mysql表(大约200万行)。我想在它上运行搜索,可能会匹配多达25k行(返回的结果将受到限制[例如每页25行])。我想做的是根据cetain标准对这些结果进行排序,并使用这些标准对结果进行排序 到目前为止,我的解决方案是创建一个脚本,遍历该表,并根据我的标准为每一行分配一个分数。每个结果都会根据它与我的理想结果的比较情况给予分数。然后,我可以在执行select时按该分数排序,而不是动态计算 我当时想,我希望该系统的其他用户能够设置自己的自定义评分标准。我的第一个想法是创建一个单
非常感谢我更喜欢单独的表,因为您可以在重新计算时生成临时新表,并将临时表重命名为实际表。
这也可能有助于您以后绕过锁定问题…谢谢,这是一个针对所有用户/级别的单独表吗?