请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师您好我想请教一下您mycat有关性能方面的问题

  1. 通过课程的学习我发现mycat对mysql进行水平拆分本质上来讲就是做了ElasticSearch的事情,如果我把需要进行水平拆分的表放到ES上面性能是不是比mycat会更好呢?mycat和ES比较,mycat的优势除了支持SQL语句还有什么?因为ES天生就是分片存储并且自带IK分词器搜索功能,需要进行水平拆分的表都是大表一旦需要模糊查询mysql比不过ES
  2. mycat对表进行水平拆分后,假设我使用简单求余算法对order_master这个表进行分片,当我执行 select * from order_master where 1=1 and order_id=1 的时候mycat是不是只会查询orderdb01这个分片不会查询orderdb02这个分片?(水平分片查询效率是通过这个机制来提升的?)

正在回答

1回答

  1. 如果只是查询的性能的话,ES确实比mycat要好。不过由于MyCAT后端是使用关系数据库存储的,ES是文件存储的,所以对于业务数据库来说有些使用mycat更为适合。

  2. 如果在查询时含有分片键的话,就可以跟据分片键定位到具体的分片进行查询。

0 回复 有任何疑惑可以回复我~
  • 提问者 BillyWebber #1
    您在讲水平拆分的时候那个customer_id是分片键吗?
    回复 有任何疑惑可以回复我~ 2020-06-28 17:24:44
  • sqlercn 回复 提问者 BillyWebber #2
    是的。
    回复 有任何疑惑可以回复我~ 2020-06-28 18:54:47
  • 提问者 BillyWebber #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-06-29 10:33:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信