一江春水向東流

          做一個(gè)有思想的人,期待與每一位熱愛思考的人交流,您的關(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)你斷開時(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)行的查詢可能比磁盤上的臨時(shí)表快些。然而,HEAP表與一般的表有些不同,且有自身的限制。詳見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 閱讀(318) 評(píng)論(0)  編輯  收藏 所屬分類: PHP+MySQL開發(fā)
          主站蜘蛛池模板: 吉木萨尔县| 南丰县| 镇雄县| 武宁县| 密山市| 兴国县| 沽源县| 砀山县| 拜城县| 长顺县| 昭苏县| 密云县| 隆回县| 南澳县| 罗田县| 新丰县| 治县。| 婺源县| 和平县| 莲花县| 广德县| 大同市| 吉木乃县| 扎囊县| 庆阳市| 肇源县| 宜宾市| 义乌市| 阿鲁科尔沁旗| 金平| 南乐县| 子洲县| 新河县| 通州区| 四川省| 芷江| 长阳| 临猗县| 曲周县| 浮梁县| 广昌县|