in reply to A question of style: Composite keys to multiple values
means add a parallel "%Field_B_Resolver"
Why a parallel hash? Why not just preload one hash with both values:
$resolver{ {lc("$External_A|$External_B") } = [ Internal_A, Internal_B + ];
And retrieve they together.
Or if the table is large and space is tight:
$resolver{ {lc("$External_A|$External_B") } = "Internal_A Internal_B";
And split them for use.
But using a "two strings smacked together" key just seems wrong.
Again why? Composite keys are a perfectly natural solution used in all manner of DB/dataretreival mechanisms.
You could use nested hashes $resolver{ External_A }{ External_B}.
But if the code is working as is, I'd want a reason (beyond is "seeming wrong") before I'd change it.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: A question of style: Composite keys to multiple values
by Voronich (Hermit) on Aug 06, 2012 at 19:57 UTC |