我打算建立一个网站,为客户提供与用户聊天用户的能力,并实现通知系统(用于新的更新,消息,事件e.t.c)。主数据库将成为MySQL。
但我想要释放一些压力"从主数据库MySQL,而不是将聊天消息和通知保存到MySQL,为每个客户端创建一个个人SQLite,其中将存储消息和通知,这将导致MySQL执行其他更重要的查询。每个客户端只能看到他/她的消息和通知,因此只有他/她才能打开/读取/写入/更新相应的SQLite数据库。
我认为为每个客户端创建单独的SQLite数据库就像用user_id对表(消息,通知)进行分区(如果它们存储在MySQL中)。所以fe:不是每次都通过所有客户端通知查询以找到id为5的用户,我们只打开他的个人SQLite数据库,其中包含的记录少得多(只有他的记录)。
现在问题部分:
正如我所说,查询会很简单。只有一些选择1或2 where子句(主要是索引)和一些排序。由于这是我第一次使用SQLite,我想知道:
1)这种方法(单个SQLite而不是MySQL)在性能方面是否真的有效?
2)一段时间后,哪种方法开始变得越来越大,哪种方法仍会表现更好? SQLite还是MySQL?
3) SQLite是否有任何内存限制会使其在时间上运行得更慢?
你对这种方法有什么看法?