我们都知道当一个表数据非常大时,一般会做水平分表,但数据表这么分了之后,应用程序有麻烦了,如果我这里有 100 张按订单号后两位 hash 出来的表(00~99),这个时候要按时间(某一天内的订单)排序怎么办?关键字查询或者其它组合条件查询怎么处理?还有分页怎么处理?limit 查询怎么处理?等一系列问题。
刚进到某个项目组,准备做一些管理工具提供给运营、客服使用,比如:交易订单实时监控、日/周/月流水统计报表等数据整理的工作。在面对这样一堆很散乱的东西,该如何处理?
在此之前只接触过单表,现在想到的办法太糟糕了,感觉这些东西交给我做会很悲催的,请前辈们指点一下,谢谢。
by 一个 PHPer 菜鸟。
这么说吧,如果数据量到达分表的规模。那么以后要查询数据就不建议采用数据库查询了。
这个时候你可以考虑采用搜索技术,针对搜索要求建立索引。
Sphinx 或者 lucene 可能是你需要去了解的东西。
像58同城、赶集网之类均有独立的团队去做自定义搜索。
对于内部使用的系统,没必要去维护一个独立的搜索引擎。
建议把需要排序的字段和主键单独拿出来做个表,在这个表做排序,详情表做查询。
正文完