国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

談談MySQL數據庫中臨時表的應用

2024-07-24 12:57:11
字體:
來源:轉載
供稿:網友
MySQL在很多情況下都會用到臨時表總結一下什么時候會用到臨時表 什么是臨時表MySQL用于存儲一些中間結果集的表臨時表只在當前連接可見當關閉連接時Mysql會自動刪除表并釋放所有空間。

以下討論的是和數據庫 臨時表 mysql 相關的談談MySQL數據庫中臨時表的應用教程文章,內容是本站精心挑選整理的教程,希望對廣大的網友給到幫助,下面是詳細內容:

MySQL在很多情況下都會用到臨時表,總結一下什么時候會用到臨時表:

什么是臨時表:MySQL用于存儲一些中間結果集的表,臨時表只在當前連接可見,當關閉連接時,Mysql會自動刪除表并釋放所有空間。為什么會產生臨時表:一般是由于復雜的SQL導致臨時表被大量創建

臨時表分為兩種,一種是內存臨時表,一種是磁盤臨時表。內存臨時表采用的是memory存儲引擎,磁盤臨時表采用的是myisam存儲引擎(磁盤臨時表也可以使用innodb存儲引擎,通過internal_tmp_disk_storage_engine參數來控制使用哪種存儲引擎,從mysql5.7.6之后默認為innodb存儲引擎,之前版本默認為myisam存儲引擎)。分別通過Created_tmp_disk_tables 和 Created_tmp_tables 兩個參數來查看產生了多少磁盤臨時表和所有產生的臨時表(內存和磁盤)。

內存臨時表空間的大小由兩個參數控制:tmp_table_size 和 max_heap_table_size 。一般來說是通過兩個參數中較小的數來控制內存臨時表空間的最大值,而對于開始在內存中創建的臨時表,后來由于數據太大轉移到磁盤上的臨時表,只由max_heap_table_size參數控制。針對直接在磁盤上產生的臨時表,沒有大小控制。

下列操作會使用到臨時表:

1ã union查詢

2ã 對于視圖的操作,比如使用一些TEMPTABLE算法、union或aggregation

3ã 子查詢

4ã semi-join 包括not in、exist等

5ã 查詢產生的派生表

6ã 復雜的group by 和 order by

7ã Insert select 同一個表,mysql會產生一個臨時表緩存select的行

8ã 多個表更新

9ã GROUP_CONCAT() 或者 COUNT(DISTINCT) 語句

。。。

Mysql還會阻止內存表空間的使用,直接使用磁盤臨時表:

1ã 表中含有BLOB或者TEXT列

2ã 使用union或者union all時,select子句有大于512字節的列

3ã Show columns或者 desc 表的時候,有LOB或者TEXT

4ã GROUP BY 或者 DISTINCT 子句中包含長度大于512字節的列

談談MySQL數據庫中臨時表的應用文章就講到這里,歡迎瀏覽本站的其它內容,點擊這里返回首頁

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 科尔| 黑河市| 大英县| 甘肃省| 深水埗区| 竹山县| 个旧市| 浦县| 黄龙县| 茌平县| 贵定县| 南宫市| 清水县| 手游| 石家庄市| 仁寿县| 和政县| 清原| 县级市| 茌平县| 水富县| 渝北区| 阿城市| 韩城市| 哈尔滨市| 平原县| 阳江市| 西畴县| 榆林市| 长顺县| 嘉禾县| 永昌县| 绵竹市| 富平县| 祁东县| 尤溪县| 基隆市| 东丽区| 阳朔县| 台东县| 黎川县|