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出來在內存中遞歸。但盡量在設計上避免這樣,只取自己想要的。
          主站蜘蛛池模板: 鲜城| 普洱| 大安市| 榆林市| 平罗县| 习水县| 和顺县| 遵化市| 绵阳市| 固安县| 屯门区| 巧家县| 湖北省| 左权县| 永昌县| 西华县| 江陵县| 宿松县| 平山县| 商丘市| 利川市| 怀仁县| 西贡区| 项城市| 凤山市| 循化| 潼南县| 左云县| 高台县| 稷山县| 普格县| 焦作市| 松原市| 凌云县| 冀州市| 嵊泗县| 沂南县| 通化市| 普陀区| 裕民县| 阿坝县|