最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL處理多級分類,查詢結果呈樹形結構

 更新時間:2012年08月03日 17:23:37   作者:  
對于多級分類常規(guī)的處理方法,很多程序員可能是用程序先讀取一級分類記錄,然后通過一級分類循環(huán)讀取下面的子分類
這樣處理的弊端是:如果數據量大,子分類很多,達到4級以上,這方法處理極端占用數據庫連接池
對性能影響很大。

如果用SQL下面的CTE遞歸處理的話,一次性就能把結果給查詢出來,而且性能很不錯
比用程序處理(數據量很大的情況),臨時表性能更好,更方便
復制代碼 代碼如下:

with area as(
select *,id px,cast(id as nvarchar(4000)) px2 from region where parentid=0
union all
select a.*,b.px,b.px2+ltrim(a.region_id) from region a join area b on a.parentid=b.id
)select * from area order by px,px2


可以查詢出結果—-所有分類及相應分類下子分類
id title parentid
1 廣東省 0
2 廣州 1
3 白云區(qū) 2
4 深圳 1
5 湖南省 0
6 長沙 5
7 株洲 5
復制代碼 代碼如下:

with area as(
select * from region where parentid=1
union all
select a.* from region a join area b on a.parentid=b.id
)select * from area

可以查詢出結果—-指定分類及相應分類下子分類
id title parentid
1 廣東省 0
2 廣州 1
3 白云區(qū) 2


性能分析:
對于一個3500條地區(qū)記錄的數據表,其中有省,市,縣3級
查詢用時要1秒,視覺上感覺有點點慢,但不影響
數據量不大的分類,使用絕對無壓力

相關文章

最新評論

阿鲁科尔沁旗| 鲁山县| 辛集市| 石阡县| 巫溪县| 舞阳县| 安达市| 泸州市| 赤城县| 全州县| 抚远县| 九江县| 仁布县| 轮台县| 含山县| 洛扎县| 武鸣县| 梅州市| 曲阳县| 闵行区| 郴州市| 修武县| 长乐市| 惠东县| 新郑市| 庐江县| 灯塔市| 尉犁县| 潼南县| 朝阳市| 任丘市| 宁城县| 同心县| 台前县| 桃源县| 金寨县| 昆明市| 九寨沟县| 女性| 江津市| 新昌县|