程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL處置多級分類,查詢成果呈樹形構造

SQL處置多級分類,查詢成果呈樹形構造

編輯:MSSQL

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秒,視覺上感到有點點慢,但不影響
數據量不年夜的分類,應用相對無壓力
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved