大量数据,用数据库好,还是重新设计一种算法用来存储和查找?()
在项目中我遇到一个问题:
我们的项目需要对大量的数据进行查找。几万条的记录,而且访问可能很频繁。记录如下格式。
城市 区号 数据
长春 431 431,4315-4319,4400-4419,4480-4489,4490-4499
吉林 432 4320-4329,4420-4429,4460-4469
延吉 433 4335-4339,4430-4439,4332,4470-4478
四平 434 4346-4349,4440-4449,4331
通化 435 43340-43343,43349,4340,4351,4353,4354,4357
白山 439 4342,4390-4399,4314
珲春 440 4479
白城 436 4345,4360-4369
梅河 448 43344-43348,4450,4452,4455-4457,4341,4350,4352,
需要根据'数据'来对应于城市。那么如果采用数据库数据有两种方案:
说明:4315-4319指的是从4315到4319的数据都可以定位到长春。
方案1:
把所以数据录入数据库,如4315-4319录为
长春 431 4315
长春 431 4316
长春 431 4317
...
长春 431 4319
就是把所有表示范围的数据拆开,这样查找算法简单,只是数据库数据量比较大因而查找速度慢。
方案2:
不拆数据录入如下:
长春 431 4315-4319
这样数据记录数会小很多,但是对于每条记录都要解析,如,比如查4316,那么就要对数据进行解析。实际上算法也几乎是不可行的。
不采用数据库,自定一种存储和查找算法,如采用HASH算法,(只是这样说,这种算法还不知是否可行。)
请教高手,我们要怎么做????
几万的数据量,对于sql_server是不是问题?是否能在用SQL的情况下,找一种良好的方法。请教高手。