Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 数据库中优化的字符串聚合_Database_Sqlite_Database Design - Fatal编程技术网

Database 数据库中优化的字符串聚合

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,

我正在进行一些日志文件解析,目的是通过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,   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设计的这一方面了解不够,无法知道什么是可能的,因此我的输出将采取什么形式。优化选择查询。