关于mysql分表后分页查询问题的一些疑惑
应用场景:公司最近在做一个数据采集项目,数据量会达到几千万级别,我这边负责做数据的入库和分析,故果断采用分表方案,但想来想去又把曾经的一些老问题提了上来。
个人觉得mysql的merge分表方案只是针对主键查询有很大的优势,根据id定位子表,准确的进行范围检索,但其他的经常用到的比如分页,条件查询等场景则显得有些不太适用了
问题1:如何记录子表集合中的 last insert id 来保证当前插入的记录 id 在集合中的唯一性
采用mysql最方便的merge引擎,将子表 tab_1, tab_2, tab3,.....,tab_N merge为 tab 表,但 merge 引擎并不能保证以当前模式入库的记录 id 在整个子表集合中的 unique 性,只能保证在当前活动子表中的唯一性,那问题来了,我如何记录当前集合表中全局的last insert id 呢,因为后期我肯定是根据 id 去做定位和映射到某张子表中去,这里有什么好的解决方案么,求告知
问题2:应用场景有限,id 查询性能提升明显,分页和条件查询几乎和不分表无异吧
merge引擎对分页和条件查询几乎没有什么明显的性能提升吧,不知各位在工作中是如何解决这个问题的,使用全文检索引擎能有效的应对这个问题么
求教~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论