日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql临时表的用法 - 51CTO.COM

發布時間:2024/1/17 数据库 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql临时表的用法 - 51CTO.COM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Mysql臨時表的用法 - 51CTO.COM

Mysql臨時表我們經常會用到,下面就為您詳細介紹Mysql臨時表的用法,供您參考,如果您對此方面感興趣的話,不妨一看。

當工作在非常大的表上時,你可能偶爾需要運行很多查詢獲得一個大量數據的小的子集,不是對整個表運行這些查詢,而是讓MySQL每次找出所需的少數記錄,將記錄選擇到一個臨時表可能更快些,然后多這些表運行查詢。

創建臨時表很容易,給正常的CREATE TABLE語句加上TEMPORARY關鍵字:

  • CREATE?TEMPORARY?TABLE?tmp_table?(??? ?
  • name?VARCHAR(10)?NOT?NULL,??? ?
  • value?INTEGER?NOT?NULL??? ?
  • )??? ?
  • ?
  • CREATE?TEMPORARY?TABLE?tmp_table?( ?
  • name?VARCHAR(10)?NOT?NULL, ?
  • value?INTEGER?NOT?NULL ?
  • ) ?
  • ?
  • 臨時表將在你連接MySQL期間存在。當你斷開時,MySQL將自動刪除表并釋放所用的空間。當然你可以在仍然連接的時候刪除表并釋放空間。

    DROP TABLE tmp_table

    如果在你創建名為tmp_table臨時表時名為tmp_table的表在數據庫中已經存在,臨時表將有必要屏蔽(隱藏)非臨時表tmp_table。

    如果你聲明Mysql臨時表是一個HEAP表,MySQL也允許你指定在內存中創建它:

  • CREATE?TEMPORARY?TABLE?tmp_table?(??? ?
  • name?VARCHAR(10)?NOT?NULL,??? ?
  • value?INTEGER?NOT?NULL??? ?
  • )?TYPE?=?HEAP??? ?
  • ?
  • CREATE?TEMPORARY?TABLE?tmp_table?( ?
  • name?VARCHAR(10)?NOT?NULL, ?
  • value?INTEGER?NOT?NULL ?
  • )?TYPE?=?HEAP?
  • ?
  • 因為HEAP表存儲在內存中,你對它運行的查詢可能比磁盤上的臨時表快些。然而,HEAP表與一般的表有些不同,且有自身的限制。詳見MySQL參考手冊。

    /********************************************************************************************/

    1、臨時表再斷開于mysql的連接后系統會自動刪除臨時表中的數據,但是這只限于用下面語句建立的表:
    ?1)定義字段

  • CREATE?TEMPORARY?TABLE?tmp_table?(? ?
  • ????name?VARCHAR(10)?NOT?NULL,? ?
  • ????value?INTEGER?NOT?NULL? ?
  • ) ?
  • 2)直接將查詢結果導入臨時表

  • CREATE?TEMPORARY?TABLE?tmp_table?SELECT?*?FROM?table_name ?
  • 2、另外mysql也允許你在內存中直接創建臨時表,因為是在內存中所有速度會很快,語法如下:

  • CREATE?TEMPORARY?TABLE?tmp_table?(? ?
  • ?????name?VARCHAR(10)?NOT?NULL,? ?
  • ?????value?INTEGER?NOT?NULL? ?
  • ??)?TYPE?=?HEAP? ?
  • 3、從上面的分析可以看出臨時表的數據是會被清空的,你斷開了連接就會被自動清空,但是你程序中不可能每發行一次sql就連接一次數據庫吧(如果是這樣的話,那就會出現你擔心的問題,如果不是就沒有問題),因為只有斷開數據庫連接才會被清空數據,在一個數據庫連接里面發行多次sql的話系統是不會自動清空臨時表數據的。



    來自為知筆記(Wiz)

    總結

    以上是生活随笔為你收集整理的Mysql临时表的用法 - 51CTO.COM的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。