Users can upload lots of items and send them from processing. From the upload settings I can set a
channel to which the uploaded items belong to. Channel is a separate entity. Currently I set the chosen channel
for each uploaded item. Having **Many To One** relationship betweenitem
There actually exists
upload_process table as well. When upload is started, a process is created to capture any metadata and store the state of the running process.
Currently all the queries that deal with
Items, directly use the
channel_id from on the item itself, but all the items that are uploaded in one process always have the same
- User uploads 100 items and chooses Channel 1.
- Upload process is created, storing information like process status, who uploaded, upload date...
- When processing, each item channel is set to Channel 1.
- I end up having 100 items with foreign keys pointing to Channel 1
Should I move the
channel relationship to the
upload_process entity and store that there instead of each individual item?
There are over 10 million
items in the database. Currently there are max 2 joins on all the queries that deal with items and queries run max 2 seconds, adding another join table shouldn't hurt the performance that much.
What is better here design wise? Thanks!