[英]django database design when you will have too many rows
我有一个带有postgres db的django网络应用程序; 通常的操作是,每天我都有一组需要存储在表之一中的值。 没有可预见的需要查询数组的值,但是需要能够绘制特定日期的值。 问题在于该数组很大,如果我将其存储在数据库中,则每年将有6000万行,但是如果将每一行存储为blob对象,则每年将有6万行。
当您不想用值的行查询时,使用blob对象减小表大小是否是一个好决定? 这是两个选项:
选项1 :保留所有
group(foreignkey)| parent(foreignkey) | pos(int) | length(int)
A | B | 232 | 45
A | B | 233 | 45
A | B | 234 | 45
A | B | 233 | 46
...
option2 :将数组折叠成一个blob:
group(fk)| parent(fk) | mean_len(float)| values(blob)
A | B | 45 |[(pos=232, len=45),...]
...
所以我不想查询pos或length,但是我想查询group或parent。 我正在谈论的读取查询的示例是:
SELECT * FROM "mytable"
LEFT OUTER JOIN "group"
ON ( "group"."id" = "grouptable"."id" )
ORDER BY "pos" DESC LIMIT 100
这是典型的django admin list_view页面主要查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.