• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 285
  • Last Modified:

Mysql speed optimization: 1 big table or many (>1000) tables?

i want to log the stock quotes for use in own program.
i log folowing data:
time - date - market - name - symbol - quote

numer of stock quotes: minimum 1000
number of new records a day : minimum: 150.000

Every minute i write about 100 - 200 new records
i never update records (i want to keep the old ones to see evolution)
i read the records of every quote ones a minute
i delete old quotes after a week (to save space)

what do i do:
1) i make 1 table and write every time: time - date - stockmarket - name - symbol - quote
2) i make 2 tables
   - 2.a: table with data:  market - name - symbol + ID
   - 2 b: table with data time - date - quote + ID
3) i make for every sock a new table: 1000 tables + 1 table with information: stockmarket + ID

What is the fastest way?

2 Solutions
Option #2 - definately.
I agree with todd_farmer - option 2 is the best.

If you want to keep the old data, you might consider some of the archival type storage engines (ARCHIVE and packed MyISAM).

You might also consider if you really need to keep every data value, or if it's sufficient to just keep the daily high, low, and average.

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now