Database 数据库中优化的字符串聚合
我正在进行一些日志文件解析,目的是通过web应用程序访问结果。我想创建一个速度优化的选择查询数据结构在我的数据库,但一个也不是太大的文件大小;我正在使用SQLite 输入 日志的简化示例:Database 数据库中优化的字符串聚合,database,sqlite,database-design,Database,Sqlite,Database Design,我正在进行一些日志文件解析,目的是通过web应用程序访问结果。我想创建一个速度优化的选择查询数据结构在我的数据库,但一个也不是太大的文件大小;我正在使用SQLite 输入 日志的简化示例: timedate, num1, num2, text_value 2014-05-06 18:00, 2, 1, alpha 2014-05-07 06:00, 2, 0, alpha, gamma 2014-05-07 12:00,
timedate, num1, num2, text_value
2014-05-06 18:00, 2, 1, alpha
2014-05-07 06:00, 2, 0, alpha, gamma
2014-05-07 12:00, 2, 5, gamma
2014-05-07 18:00, 2, 4, beta
注意:我不知道所有可能的文本值
注2:虽然不太可能,但在首次运行之后,可能需要解析/添加任何给定日期的新日志行也并非不可能
输出
我可以很好地处理数字数据-我将其聚合起来,在数据库中得到如下表:
date, num1, num2 text_value (type = array (I know there's no such type))
2014-05-06, 2, 1 [alpha*1]
2014-05-07, 6, 9 [alpha*1], [gamma*2], [beta*1]
但是我如何处理这些字符串呢?我不能仅仅计算它们,因为我不知道所有可能的值
编辑:
显然,上述输出在文本值的数据库中不起作用。我需要存储text_值中字符串每次出现的次数,那么如何存储它呢
有人能建议我应该使用什么表结构来处理非求和数据吗。我有什么选择
谢谢期望的输出是什么?对我来说似乎是一对多的关系。顺便说一句,速度是操作的一个属性,所以要优化速度,你必须首先告诉我们哪些操作需要快速。我试图澄清我想要的输出,但我对DB设计的这一方面了解不够,无法知道什么是可能的,因此我的输出将采取什么形式。优化选择查询。