让我们来看看这个数据库结构如何在mysql中优化这些数据的存储?
Iterations
id (primary key)
start (timestamp)
end (timestamp nullable)
Items
id (primary key)
title (text)
foreign_id (integer)
location (point nullable)
some other text fields
Iteration_items
iteration_id (foreign key to iterations(id))
item_id (foreign key to items(id))
每小时
1. Create new record in `iterations` with `start` equals to now
2. Do some processing and store about 5000 records in `items` table (plus 5000 records in `iteration_items`), so every `iteration` contains about 5000 items.
3. After it is done set `end` to now for latest `iteration`
问题:每iteration
(主要是在items
表)需要大约盘100MB的数据,我不能以某种方式压缩该数据(里面有一些文字)。
可以有多个重复:
1. Iteration 34 contains item with foreign id 837435.
2. Iteration 35 contains item with foreign id 837453
3. ...
4. Iteration 42 DOES not contain item with foreign id 837453
数据项与国外ID 837435可以迭代之间改变。
例如:
iteration 34
point(1.1,2.2)
title 'some example text'
iteration 35
point(1.1, 2.3)
title 'another example text'
我需要存储这些数据,这样以后就可以进行比较。
如何处理连续增长的数据库?