中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中如何用臨時表

發布時間:2022-05-26 17:37:36 來源:億速云 閱讀:851 作者:iii 欄目:MySQL數據庫

這篇文章主要介紹了mysql中如何用臨時表的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇mysql中如何用臨時表文章都會有所收獲,下面我們一起來看看吧。

mysql中用臨時表的時候:1、用到TEMPTABLE算法或者是UNION查詢中的視圖時;2、用到DISTINCT查詢并且加上ORDER BY時;3、SQL中用到“SQL_SMALL_RESULT”選項時;4、用到FROM中的子查詢時等等。

本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql中什么時候用臨時表

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中如何用臨時表

關于“mysql中如何用臨時表”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“mysql中如何用臨時表”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梁河县| 六枝特区| 丰都县| 大埔区| 桂东县| 金湖县| 甘孜| 莲花县| 鲁甸县| 定远县| 琼海市| 米林县| 井陉县| 准格尔旗| 甘孜县| 镇远县| 略阳县| 九寨沟县| 腾冲县| 沾化县| 虹口区| 宿松县| 安国市| 安龙县| 永嘉县| 博湖县| 英德市| 根河市| 资中县| 通州市| 灵川县| 喀喇| 汝城县| 乐亭县| 历史| 汉寿县| 天峻县| 锡林郭勒盟| 阳信县| 连州市| 东阿县|