1.0 需求
mysql 查詢時,查詢條件有很多。
乙個目錄樹表,獲取了 n 個節點,需要迴圈判斷每個節點是否有子節點。由於資料庫用的外網(不在同乙個區域網內),當節點很多時(超過 500),效率很低,因為需要進行 500 次分次查詢。
資料庫的組織方式:
欄位名稱
pg_id
id 號
pg_name
節點名稱
parent_id
父節點id號
2.0 解決方案select count(*) from os_pgroup where parent_id = 0
select count(*) from os_pgroup where parent_id = 21
select count(*) from os_pgroup where parent_id = 31
select count(*) from os_pgroup where parent_id = 40
******
select count(*), parent_id from os_pgroup where parent_id in (10, 21, 31, 40, ***) group by parent_id
結果如下:
count(*)
parent_id035
2114311
這樣有子節點的記錄,就可以查詢出來了。
如果父節點個數不多(例如1000個),可以考慮一次性全部取出,再在邏輯**中判斷每個節點如果查詢條件過於複雜,可以考慮使用檢視、儲存過程(不建議使用)等方式解決
批量匯出與匯入AD目錄樹
步驟說明 一 匯出指定的組織單元資訊,192.168.73.10為域控制器的ip ldifde f e exportou.ldf s 192.168.73.10 d dc beijing,dc corp,dc 9you,dc com p subtree r objectclass organizat...
mysql條件判斷並批量修改資料
要批量修改欄位中特定值的資料時,有兩種方法可以修改 方法一 update table name set column name replace column name,none null 注釋 修改表 table name 中列 column name 的值,當值等於字串 none 時改為null ...
Mysql實現多條件排名
其中重要的知識點有兩個 currank if prevrank s.sum and userrank c1.rank,currank incrank as rank5,incrank incrank 1 prevrank s.sum,userrank c1.rank 判斷 sum是否相同,如果相同,...