我对sql(ite)比较新,我在学习新项目时正在学习。 我们在一个“数据”表中有数百万个事务行,一个字段是“sessionid”字段。
由于我现在想专注于会话中的活动,我主要需要查看来自同一会话的交易。
我现在的直觉是,如果我将数据库按会话分成许多单个会话表,那么将比单独的会话表查询总是快得多,然后继续进行。我的问题:这是正确的吗?会有所作为吗?
即使不是:你能帮助我告诉我,如何将一个“数据”表行拆分成许多特定于会话的表,这些行保持不变?还有一个表将sessionId与他们的表相关联吗?
谢谢!
一位朋友刚刚告诉我,分裂到表格的事情会非常不灵活,我应该尝试为不同的sessionId行添加一个不同的索引来更快地访问单个会话。对此有什么想法以及如何做到最好?
答案 0 :(得分:0)
首先,到目前为止,您是否遇到任何特定的性能瓶颈?如果是,请描述一下。
每个会话有一个表可能会加快查找/索引(对于INSERT
)的速度。
SQLite没有对表的数量施加限制,所以你应该没问题。
另一种提供更轻松维护的解决方案是,如果您每天/每周创建一个表。
根据您的会话持续多长时间,这可能是否可行。