(再发)求大表搜索关键字算法?
碰到难题,没什么好思路。
从网上(INTERNET)提取一张大表(大概100K条记录),表的主要结构是:
列名: 用户ID(char[20]) 会话ID(dword) ....
其中,用户ID是主键,会话ID不唯一。
有一个特点:表数据分成两部分。每部分都会按会话ID来排序,但是升序还是降序两部分是不同的。如下所示:
用户ID 会话ID
-- 第一部分 --
admin 10012
zmh 10223
lyx 10225
.... .....
slb 12710
-- 第二部分 --
rainmin 50247
charls 50211
bobo 50204
.... .....
marks 10084
现在要通过用户ID和会话ID来定位记录。最主要它不是数据库,不能写SQL查,要自己写查找过程。
而且两部分的数据量每次查都会变化。头痛。
想用二分查找法,但两部分边界的地方不好确定。请高手给点好的思路。