SQL處置多級分類,查詢成果呈樹形構造。本站提示廣大學習愛好者:(SQL處置多級分類,查詢成果呈樹形構造)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL處置多級分類,查詢成果呈樹形構造正文
如許處置的弊病是:假如數據量年夜,子分類許多,到達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 白雲區 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 白雲區 2
機能剖析:
關於一個3500條地域記載的數據表,個中有省,市,縣3級
查詢用時要1秒,視覺上感到有點點慢,但不影響
數據量不年夜的分類,應用相對無壓力