关于mysql分表后分页查询问题的一些疑惑

big_cat
  • 1.6k

应用场景:公司最近在做一个数据采集项目,数据量会达到几千万级别,我这边负责做数据的入库和分析,故果断采用分表方案,但想来想去又把曾经的一些老问题提了上来。

个人觉得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引擎对分页和条件查询几乎没有什么明显的性能提升吧,不知各位在工作中是如何解决这个问题的,使用全文检索引擎能有效的应对这个问题么

求教~

回复
阅读 3.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏