我们需要针对用户个人资料为我的社交网站实施搜索过滤器(类似于Net-log),对个人资料的过滤包括年龄范围,性别和兴趣我们在MySQL上运行大约1M个配置文件,MySQL似乎不是实现这些过滤器的正确选择,所以我们也在考虑Cass...

我们需要针对用户个人资料为我的社交网站实施搜索过滤器(类似于Net-log),对个人资料的过滤包括年龄范围,性别和兴趣
我们在MySQL上运行大约1M个配置文件,MySQL似乎不是实现这些过滤器的正确选择,所以我们也在考虑Cassandra,
那么实现这种过滤器的最佳方法是什么,结果需要非常快
例如年龄= 18-24岁,性别=男性和兴趣=足球
年龄,性别和兴趣是varchar
编辑:
让我重新解释一下这个问题,我怎样才能获得任何类型搜索的最快结果.
它可以基于配置文件名称,也可以是1M配置文件记录中的任何其他配置文件.
谢谢
解决方法:
它可以很好地为您的项目提供基础SQL更改.您可能需要考虑将Interest列从自由输入字段(varchar)更改为标记(例如,附加表上的多对多).
你使用了足球的例子并且有一个类似的运算符.如果您将其更改为标记,那么您将遇到决定放置位置的初始结构问题:
football
Football
American Football
Australian-rules football
但是,一旦你这样做了,标签将帮助你的选择语句更快.
如果没有这种更改,您将把数据管理问题从数据库(配备处理它)推送到Java(可能不是).
本文标题为:mysql – 在java中实现搜索过滤器


基础教程推荐
- 用法介绍Java注释快捷键及其使用 2023-10-08
- SpringBoot Profile多环境配置方式 2023-01-23
- SpringBoot2.x配置HTTPS访问的过程 2023-02-19
- Java MyBatis框架环境搭建详解 2023-04-11
- Java super关键字的使用详解 2023-02-27
- Spring Boot 整合JPA 数据模型关联使用操作(一对一、一对多、多对多) 2023-03-11
- mybatis对于list更新sql语句的写法说明 2023-04-17
- Spring中常用注解的详细介绍 2023-08-01
- JavaSE递归求解汉诺塔问题的思路与方法 2023-03-30
- 理解Java Map的forEach方法 2023-10-08