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

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

          Posted on 2008-06-08 16:33 G_G 閱讀(2774) 評論(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出來在內存中遞歸。但盡量在設計上避免這樣,只取自己想要的。
          主站蜘蛛池模板: 绍兴市| 武邑县| 基隆市| 健康| 宝兴县| 巩留县| 商河县| 宜都市| 灵台县| 城固县| 阿克陶县| 嘉峪关市| 石棉县| 仁化县| 射阳县| 凌海市| 全州县| 岱山县| 永昌县| 五莲县| 右玉县| 台湾省| 天镇县| 北流市| 嵩明县| 澎湖县| 屯留县| 尤溪县| 田东县| 刚察县| 民勤县| 伊宁县| 五峰| 新和县| 阿克陶县| 海兴县| 石景山区| 延庆县| 习水县| 江津市| 绥化市|