一江春水向東流

          做一個(gè)有思想的人,期待與每一位熱愛(ài)思考的人交流,您的關(guān)注是對(duì)我最大的支持。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            44 隨筆 :: 139 文章 :: 81 評(píng)論 :: 0 Trackbacks

          emplate:Java MySQL 當(dāng)工作在非常大的表上時(shí),你可能偶爾需要運(yùn)行很多查詢獲得一個(gè)大量數(shù)據(jù)的小的子集,不是對(duì)整個(gè)表運(yùn)行這些查詢,而是讓MySQL每次找出所需的少數(shù)記錄,將記錄選擇到一個(gè)臨時(shí)表可能更快些,然后多這些表運(yùn)行查詢。

          創(chuàng)建臨時(shí)表很容易,給正常的CREATE TABLE語(yǔ)句加上TEMPORARY關(guān)鍵字:

          CREATE TEMPORARY TABLE tmp_table (
          name VARCHAR(10) NOT NULL,
          value INTEGER NOT NULL
          )
          

          臨時(shí)表將在你連接MySQL期間存在。當(dāng)你斷開(kāi)時(shí),MySQL將自動(dòng)刪除表并釋放所用的空間。當(dāng)然你可以在仍然連接的時(shí)候刪除表并釋放空間。

          DROP TABLE tmp_table
          

          如果在你創(chuàng)建名為tmp_table臨時(shí)表時(shí)名為tmp_table的表在數(shù)據(jù)庫(kù)中已經(jīng)存在,臨時(shí)表將有必要屏蔽(隱藏)非臨時(shí)表tmp_table。

          如果你聲明臨時(shí)表是一個(gè)HEAP表,MySQL也允許你指定在內(nèi)存中創(chuàng)建它:

          CREATE TEMPORARY TABLE tmp_table (
          name VARCHAR(10) NOT NULL,
          value INTEGER NOT NULL
          ) TYPE = HEAP
          

           

          因?yàn)镠EAP表存儲(chǔ)在內(nèi)存中,你對(duì)它運(yùn)行的查詢可能比磁盤(pán)上的臨時(shí)表快些。然而,HEAP表與一般的表有些不同,且有自身的限制。詳見(jiàn)MySQL參考手冊(cè)。

          正如前面的建議,你應(yīng)該測(cè)試臨時(shí)表看看它們是否真的比對(duì)大量數(shù)據(jù)庫(kù)運(yùn)行查詢快。如果數(shù)據(jù)很好地索引,臨時(shí)表可能一點(diǎn)不快。

          posted on 2008-06-23 16:57 allic 閱讀(314) 評(píng)論(0)  編輯  收藏 所屬分類: PHP+MySQL開(kāi)發(fā)
          主站蜘蛛池模板: 阿图什市| 金阳县| 道孚县| 常宁市| 凤山市| 永安市| 分宜县| 吉安市| 蕲春县| 新邵县| 颍上县| 平阴县| 隆尧县| 馆陶县| 宜宾县| 靖西县| 芜湖县| 盖州市| 凤冈县| 花垣县| 黄大仙区| 远安县| 新乐市| 东至县| 桃园县| 安徽省| 垫江县| 久治县| 通山县| 荔波县| 舟曲县| 玉屏| 鄂伦春自治旗| 宁南县| 准格尔旗| 洪泽县| 威信县| 上虞市| 兰考县| 辽中县| 康乐县|