激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL問答系列之什么情況下會用到臨時表

MySQL問答系列之什么情況下會用到臨時表

2019-06-26 11:27葉金榮 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 兩個參數來查看產生了多少磁盤臨時表和所有產生的臨時表(內存和磁盤)。

MySQL在以下幾種情況會創建臨時表:

1、UNION查詢;

2、用到TEMPTABLE算法或者是UNION查詢中的視圖;

3、ORDER BY和GROUP BY的子句不一樣時;

4、表連接中,ORDER BY的列不是驅動表中的;

5、DISTINCT查詢并且加上ORDER BY時;

6、SQL中用到SQL_SMALL_RESULT選項時;

7、FROM中的子查詢;

8、子查詢或者semi-join時創建的表;

EXPLAIN 查看執行計劃結果的 Extra 列中,如果包含 Using Temporary 就表示會用到臨時表。

當然了,如果臨時表中需要存儲的數據量超過了上限( tmp-table-size 或 max-heap-table-size 中取其大者),這時候就需要生成基于磁盤的臨時表了。

在以下幾種情況下,會創建磁盤臨時表:

1、數據表中包含BLOB/TEXT列;

2、在 GROUP BY 或者 DSTINCT 的列中有超過 512字符 的字符類型列(或者超過 512字節的 二進制類型列,在5.6.15之前只管是否超過512字節);

3、在SELECT、UNION、UNION ALL查詢中,存在最大長度超過512的列(對于字符串類型是512個字符,對于二進制類型則是512字節);

4、執行SHOW COLUMNS/FIELDS、DESCRIBE等SQL命令,因為它們的執行結果用到了BLOB列類型。

從5.7.5開始,新增一個系統選項 internal_tmp_disk_storage_engine 可定義磁盤臨時表的引擎類型為 InnoDB,而在這以前,只能使用 MyISAM。而在5.6.3以后新增的系統選項 default_tmp_storage_engine 是控制 CREATE TEMPORARY TABLE 創建的臨時表的引擎類型,在以前默認是MEMORY,不要把這二者混淆了。

詳見下例

mysql> set default_tmp_storage_engine = "InnoDB";
-rw-rw---- 1 mysql mysql 8558 Jul 7 15:22 #sql4b0e_10_0.frm -- InnoDB引擎的臨時表
 -rw-rw---- 1 mysql mysql 98304 Jul 7 15:22 #sql4b0e_10_0.ibd
-rw-rw---- 1 mysql mysql 8558 Jul 7 15:25 #sql4b0e_10_2.frm

mysql> set default_tmp_storage_engine = "MyISAM";
-rw-rw---- 1 mysql mysql 0 Jul 7 15:25 #sql4b0e_10_2.MYD -- MyISAM引擎的臨時表
 -rw-rw---- 1 mysql mysql 1024 Jul 7 15:25 #sql4b0e_10_2.MYI

mysql> set default_tmp_storage_engine = "MEMORY";
-rw-rw---- 1 mysql mysql 8558 Jul 7 15:26 #sql4b0e_10_3.frm -- MEMORY引擎的臨時表

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 免费看操片 | 午夜国产精品成人 | 茄子福利视频 | 精品麻豆cm视频在线看 | 久久亚洲精品久久国产一区二区 | 国产日本欧美在线观看 | 美女毛片在线观看 | 国产欧美日韩视频在线观看 | 一区二区网 | 亚洲精品成人悠悠色影视 | 亚洲成人自拍电影 | 欧美性精品videofree | 国产1区2区在线观看 | 最新av免费网址 | 色视频一区二区 | 中文字幕天堂在线 | 亚洲免费视频一区二区 | 日本视频在线播放 | 久久久免费观看完整版 | 羞羞视频在线免费 | 视屏一区| 污视频在线免费播放 | 中日韩免费视频 | 国产成人精品免费视频大全最热 | 精品久久中文网址 | 蜜桃视频网站在线观看 | 在线男人天堂 | 一区二区三区小视频 | 91精品免费在线 | 久久精品国产99国产精品亚洲 | 九九热视频免费 | 九色一区二区 | 91精品国产一区二区三区四区在线 | 娇妻被各种姿势c到高潮小说 | 日韩毛片毛片久久精品 | 久久国产综合视频 | 玩偶姐姐 在线观看 | 国产91亚洲精品久久久 | 日日摸夜夜骑 | 国产精品亚洲三区 | 久久99久久99免费视频 |