1

我对 sql(ite) 比较陌生,并且在从事新项目时正在学习。我们在一个“数据”表中有数百万个事务行,其中一个字段是“sessionid”字段。

由于我现在想专注于会话中的活动,因此我主要只需要查看来自相同会话的事务。

我现在的直觉是,如果我将数据库按会话分成许多单个会话表,这将比总是查询单个 sessionid 然后继续执行要快得多。我的问题:正确吗?这会有所作为吗?

即使不是:你能帮我告诉我,我如何将一个“数据”表行拆分为许多特定于会话的表,这些行保持不变?加上一张将 sessionIds 与他们的表相关联的表?

谢谢!


一位朋友刚刚告诉我,拆分成表的事情会非常不灵活,我应该尝试为不同的 sessionId 行添加一个不同的索引来更快地访问单个会话。对此有什么想法以及如何做到最好?

4

1 回答 1

0

首先,到目前为止,您是否有任何特定的性能瓶颈?如果是,请描述一下。

每个会话有一个表可能会加快查找/索引(对于INSERTs)的事情。

SQLite 对表的数量没有限制,所以你应该没问题。

另一种提供更容易维护的解决方案是,如果您每天/每周创建一个表。

根据您的会话持续多长时间,这可能可行或不可行。

相关:https ://stackoverflow.com/a/811862/89771

于 2013-05-15T12:18:16.703 回答