posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          mysql 樹形結構數據收集(存儲過程)

          Posted on 2008-06-08 16:33 G_G 閱讀(2776) 評論(2)  編輯  收藏 所屬分類: Database
          就用數據數據庫表地址數據(中國地區)來說吧
          存儲過程:
          DELIMITER?//
          drop?procedure?if?exists??useCursor?//
          create?temporary?table?if?not?exists??aop.tmp_table(data?bigint(20))//

          //建立存儲過程
          CREATE?PROCEDURE?useCursor(iid?bigint(20))
          ????
          BEGIN
          ??? ?? ? //局部變量定義
          ?????????declare?tid?bigint(20)?default?-1?;
          ????????
          ??? ?? ? //游標定義
          ?????????
          declare?cur1?CURSOR?FOR?select?id?from?aop.location?where?fid=iid?;
          ????????
          //游標介紹定義
          ???????? declare
          ?CONTINUE?HANDLER?FOR?SQLSTATE?'02000'?SET?tid?=?null;
          ????????
          ???????? //開游標
          ???????? OPEN?cur1;
          ??????
          ? FETCH?cur1?INTO?tid;

          ????????
          WHILE?(?tid?is?not?null?)?
          ???????? DO
          ??????????
          insert?into?aop.tmp_table?values(tid);
          ??? ?? ?? //樹形結構數據遞歸收集到建立的臨時表中
          ??????????call?useCursor(tid);
          ?????????
          FETCH?cur1?INTO?tid?;
          ???????
          END?WHILE;
          ????
          END;//
          DELIMITER?;

          //查詢開始 ,運行是成功的,但用時有10多秒之多,才幾百條數據;
          //望那個大牛 幫幫解決下時間問題!

          call?useCursor(
          1);
          select?*?from?tmp_table?;
          drop?temporary?table?if??exists??aop.tmp_table?;


          結果:

          |??187?|
          |??188?|
          |??189?|
          |??190?|
          |??191?|
          |??192?|
          |??193?|
          |??194?|
          |??195?|
          |??196?|
          |??197?|
          |??198?|
          |??199?|
          |??200?|
          |??201?|
          |??202?|
          |??203?|
          |??204?|
          |??205?|
          |??206?|
          |??207?|
          |??208?|
          |??209?|
          .


          評論

          # re: mysql 樹形結構數據收集(存儲過程)  回復  更多評論   

          2008-06-09 04:44 by 如果黑客
          好深奧啊

          # re: mysql 樹形結構數據收集(存儲過程)  回復  更多評論   

          2008-06-10 09:19 by 路過(gangqiang.liu@live.cn)
          10s 還不如一條sql把整張表的數據select出來在內存中遞歸。但盡量在設計上避免這樣,只取自己想要的。
          主站蜘蛛池模板: 汝阳县| 阿勒泰市| 长顺县| 永安市| 云阳县| 南漳县| 汉源县| 苍南县| 刚察县| 许昌市| 特克斯县| 平舆县| 柞水县| 承德县| 商丘市| 澜沧| 潢川县| 嘉祥县| 海南省| 全州县| 定结县| 尼勒克县| 昂仁县| 蒲城县| 通渭县| 凤凰县| 苍梧县| 阿鲁科尔沁旗| 保康县| 南漳县| 澳门| 招远市| 威远县| 周宁县| 当雄县| 金坛市| 犍为县| 玛沁县| 阿瓦提县| 钟山县| 江口县|