重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
臨時表:一種特殊的表,用來存儲查詢的中間結果,并且會隨著當前連接的結束而自動刪除。mysql中有2種臨時表,分別是內部臨時表和外部臨時表。
成都創新互聯公司成立10年來,這條路我們正越走越好,積累了技術與客戶資源,形成了良好的口碑。為客戶提供網站設計、成都網站建設、網站策劃、網頁設計、空間域名、網絡營銷、VI設計、網站改版、漏洞修補等服務。網站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網站建設都非常重要,成都創新互聯公司通過對建站技術性的掌握、對創意設計的研究為客戶提供一站式互聯網解決方案,攜手廣大客戶,共同發展進步。
外部臨時表關鍵字:TEMPORARY 。
外部臨時表特征:
1、關鍵字TEMPORARY
2、臨時表創建完成之后,只有當前可見,其他連接是看不到的,具有連接隔離性
3、臨時表在當前連接結束之后,會自動刪除。
臨時表可以存儲在內存和磁盤。
使用場景:臨時表主要用于對大數據量的表上作一個子集,提高查詢效率。普通臨時表,從大表中撈取部分的數據,可以在一個連接內重復使用,提速
實現視圖,優化器有2種選擇:臨時表或者合并算法(MERGE),這是由生成視圖的SQL決定的
視圖本身并不存儲數據,只是存儲了一段待執行的sql語句而已,查詢視圖的時候,仍然會訪問原表去查詢,所以查詢性能上并不能提升,更多的是簡化Sql的復雜性、安全控制的考慮。如果提升性能的話,臨時表可能是更好的選擇。
視圖的優點:
2種方法
第一種,建立正式的表,此表可供你反復查詢
drop table if exists a_temp;
create table a_temp as
select 表字段名稱 from 表名稱
第二種,建立臨時表,此表可供你當次鏈接的操作里查詢.
create temporary table 臨時表名稱
select 表字段名稱 from 表名稱
臨時表的數據和結構都是存放在內存中
創建臨時表很容易,給正常的CREATE TABLE語句加上TEMPORARY關鍵字:
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL,
value INTEGER NOT NULL
)