站長資訊網
        最全最豐富的資訊網站

        mysql中什么時候用臨時表

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

        mysql中什么時候用臨時表

        本教程操作環境: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視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久精品国产亚洲5555| 女人高潮内射99精品| 精品国产一区二区三区久久蜜臀| 精品国产三级a∨在线| 亚洲精品97久久中文字幕无码| 囯产精品一区二区三区线| 国产成人精品免费午夜app| 精品久久久久久成人AV| 无码日韩人妻精品久久蜜桃| 亚洲国产成人精品女人久久久 | 无码精品视频一区二区三区| 精品中文高清欧美| 精品国精品国产自在久国产应用男| 在线观看91精品国产入口| 97精品伊人久久大香线蕉app| 精品无码人妻夜人多侵犯18 | 亚洲一级Av无码毛片久久精品 | 大桥未久在线精品视频在线| 久久久精品人妻一区二区三区四| 亚洲国产精品成人精品无码区| 青青热久久国产久精品| 久久93精品国产91久久综合| 国产伦精品一区二区三区视频猫咪 | 国产精品视频白浆免费视频| 久久精品麻豆日日躁夜夜躁| 国产精品亚洲一区二区三区在线 | 无码人妻精品一区二区三区66| 日韩欧精品无码视频无删节| 精品三级AV无码一区| 精品一区二区三区免费毛片爱| 国产精品国色综合久久| sihu国产精品永久免费| 国产精品久久久久影院色| 国产短视频精品一区二区三区| 免费精品一区二区三区第35| 亚洲第一精品在线视频| 国产高清国内精品福利99久久| 精品第一国产综合精品蜜芽| 日批日出水久久亚洲精品tv| 亚洲精品国产品国语在线| 久久精品国产亚洲AV无码麻豆|