Add a table to hold only the Symbols

to improve performance.
This commit is contained in:
Joe Tretter
2020-09-23 10:14:12 -05:00
parent 05a55f6434
commit 1fdf705eb5
4 changed files with 14 additions and 2 deletions

View File

@@ -2,4 +2,8 @@ CREATE TABLE IF NOT EXISTS "OptionQuotes"( "TimeStamp"DateTime DEFAULT CURRENT_T
"Symbol" Text,
"Data" Text);
CREATE INDEX smbDaTi on OptionQuotes (Symbol,timestamp);
CREATE INDEX IF NOT EXISTS smbDaTi on OptionQuotes (Symbol,timestamp);
CREATE TABLE IF NOT EXISTS "Symbols" (
"Symbol" TEXT UNIQUE
);

View File

@@ -13,6 +13,10 @@ ls quoteStore_202*.sqlite3.gz | while read db; do
sqlite3 /tmp/xx.sqlite3 'drop table OptionQuotes;'
sqlite3 /tmp/xx.sqlite3 'alter table tmp rename to OptionQuotes;'
sqlite3 /tmp/xx.sqlite3 '.dump OptionQuotes' | sqlite3 consolidated.sqlite3
echo filling symbols table
sqlite3 consolidated.sqlite3 'insert INTO Symbols select DISTINCT Symbol from OptionQuotes where OptionQuotes.Symbol not in (select Symbol from Symbols);'
echo deleting...
rm /tmp/xx.sqlite3
mv $db processedDBs

View File

@@ -18,6 +18,10 @@ find . -maxdepth 1 -name 'quoteStore_202*.sqlite3.gz' | while read db; do
sqlite3 /tmp/xx.sqlite3 'drop table OptionQuotes;'
sqlite3 /tmp/xx.sqlite3 'alter table tmp rename to OptionQuotes;'
sqlite3 /tmp/xx.sqlite3 '.dump OptionQuotes' | sqlite3 consolidated.sqlite3
echo filling symbols table
sqlite3 consolidated.sqlite3 'insert INTO Symbols select DISTINCT Symbol from OptionQuotes where OptionQuotes.Symbol not in (select Symbol from Symbols);'
rm /tmp/xx.sqlite3
if [[ "$delete" == "1" ]]; then
echo deleting...