Address standarization using C# dictionary data or table sql server data? -
i'm developing application address standardization in c# using form (desktop application) , sql server 2005. work follow:
my model in sql:
---------------------| table correctaddress | ---------------------| correctaddressid pk | correctaddress | ---------------------| -------------------| table wrongaddress | -------------------| wrongaddressid pk | wrongaddress | correctaddressid fk| -------------------| -------------------------| table standardizeaddress | -------------------------| standardizeaddressid pk | streetname | -------------------------|
correctaddress: 70.000 records
wrongaddress: 900.000 records
standardizeaddress: maybe 1 or 1.000.000 records.
and query , change "streetname" "correctaddress" is:
select s.standardizeaddressid, s.streetname, c.correctaddress correctaddress c inner join wrongaddress w on c.correctaddressid = w.correctaddressid inner join standardizeaddress s on w.wrongaddress = s.streetname
this query work, when i've million or thounsand of standardizeaddress
records, take time (20 minutes).
so, looking best solution, saw c# dictionary
data structure. question if same work using c# dictionary
? putting correctaddress
, wrongaddress
in c# dictionary correctaddress?
it work better? or there best option? i'm thinking using dictionary:
public correctaddress dictionary(of string, string) = new dictionary(of string, string) public sub new() directionals .add("riverside drive", "rvrsid drve") .add("union street", "unon strt") .add("grand avenue", "grnd avene") -- , on until 900.000 records! end
tanks comments!
despite fact hard actual bottleneck in case, reading post, if think handling data in memory, can use dataset (a collection of datatable). can query them sql in memory well.
Comments
Post a Comment