我有一个任务,我需要设计一个有效的表(不限于sql但我目前正在使用postgresql),它具有以下结构
id_table
latest_update_id
product_id
publish_date
product_meta_table
latest_update_id
product_id
meta_related_info1
meta_related_info2
...etc
product_table
latest_update_id
product_id
note_related_info1
note_related_info2
....etc
每个product_id
可以有多个latest_update_id
,因为它每10分钟会多次更新。
每个product_id
和latest_update_id
组合将有1个product_meta_table
条目和多个product_table
条目。
选择模式基本上是以下
SELECT *
FROM product_table
WHERE latest_update_id = (SELECT latest_update_id FROM id_table WHERE product_id = 'some_id' ORDER BY publish_date DESC LIMIT 1 )
AND product_id = 'some_id'
选择产品的最新信息。
我计划为所有三个表编制latest_update_id
product_id
和publish_date
。
我们计划每秒进行10-50k插入,我需要保留历史数据,因为其他团队需要对其进行数据分析。
这是一个好设计吗?是否有其他机会可以优化插入和读取的速度?
我使用完全错误的技术吗?
任何帮助都将不胜感激。
由于