![]() |
|
The stupid question is the question not asked | |
PerlMonks |
Re^3: key value in text formatby The_Dj (Sexton) |
on Nov 06, 2019 at 15:34 UTC ( #11108372=note: print w/replies, xml ) | Need Help?? |
I second SQlite. I use it a lot, and if your dataset is big(ish), you don't want to be parsing flat files for every lookup. How you store this depends on just how many [ key1=value1, key2=value2] there are. If there is a fixed list of 'key1','key2' and it's not too many: bite the bullet and add the columns. Otherwise, you get to use a link (This is Database 101. search for 'database normalization') each record should be [id], field1, field2 then in a separate table
You can also have a 3rd table with [link_id], source_file_name or whatever other metadata you need to keep. SQLite very kindly has a magic ROWID column. It wont' return it on SELECT *, but will on SELECT ROWID,*. Of course you get to do two queries for each lookup: SELECT ROWID,* FROM main_data and then SELECT * FROM extra_data WHERE link_id = ? HTH. TO clarify: if your 'real' data is
Then you get: Primary table:
lookup table:
In Section
Seekers of Perl Wisdom
|
|