在宇宙里面寻找 一座城市 对象
图中给出的是整个树结构的一部分
现在我要找“无锡”这个对象
给出的 条件是 type=城市 ,name="无锡"
如果就给出这两个条件,那
(1)我并不知道 无锡是江苏的?
(2)我也不知道 江苏是中国的?
(3)我也不知道 中国是亚洲的?
(4)我也不知道 亚洲是东半球的?
(5)我也不知道 东半球就是地球的?
那么如果我的数据库存储的是 整个宇宙的所有城市?
那我怎么才能直接找到 无锡 这个对象的所有属性(假设无锡的 其他属性有:地点,坐标等等,人口,历史,经济,政治等)
数据是使用树结构存储的
但是 就像我上面所提出的问题一样 地球 东半球 亚洲 中国 江苏 这些 我都不知道!
难道 我要遍历宇宙里面所有的城市吗?(如果这样的话那岂不是就失去了分类树结构存储的意义了,分类存储就是希望快速定位查找结果,减少遍历开销)
------解决方案--------------------奇怪了,
你数据库里如果没有世界各国行政区划的数据,
你查找什么呢?
你拿什么来查找?
你构建这个什么毛的存储结构干毛用呢?
------解决方案--------------------分类存储就是希望快速定位查找结果,减少遍历开销.
注意这句话.
前提是分类.存储.
你知道某一个分类.遍历这分类就可以了.这就是减少遍历开销
------解决方案--------------------
------解决方案--------------------做人不能太cctv.
你跟电脑说.给我找出这个人来.
电脑当然是满世界找啦.
你跟电脑说,给我去学校找出这个人来.
电脑就懂了,只去学校找就可以.这就是减少遍历开销
------解决方案--------------------type=城市 ,name="无锡"
说明国家和省份是不会存在 叫无锡的.
电脑会只历遍城市这一层节点.
------解决方案--------------------笑而不语真君子
------解决方案--------------------给出的 条件是 type=城市 ,name="无锡"
select * from [城市表] where [城市名] like '%无锡%'
------解决方案--------------------1.知道啥要索引吗?
2.知道啥叫都柏林元数据描述吗
如果你知道柏林元数据那么请不要自己构建,我们大家应该使用标准元数据描述,而非自己构建
如果不知道柏林元数据标准,那么请自建索引文件去索引。索引的标准有无数种,lz把自己限到一个固定框框里面了,比如我可以按ABCD索引,我也可以按长度索引
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------在地图里搜无锡..肯定返回的不只是一个无锡.全世界会有很多个无锡.
有大城市叫无锡. 有个偏远小村也叫无锡.
那么会优先返回热门的大城市无锡地图点.
不但要历遍.而且要多层判断哪个是客户想要的.
------解决方案--------------------看看IP是哪个地方的:) 然后就近搜索
------解决方案--------------------楼主这个问题很有异意,GoogleMap 怎么弄的咱不是很了解,但是你说要搜索的一个城市,城市名叫无锡,那么咱先不管宇宙这么大的地方,就打比方中国,假如中国有很多个城市的名字都叫无锡,然后这些城市都散落在不同的省份,那么你这样搜索,难道数据库不需要搜遍整个数据库?快速定位至少应该要有个定位元素,如果你连这个定位元素都属于最底层,那还怎么快速定位呢?是不?
------解决方案--------------------这么复杂的问题,还是从基础做起吧