前言
大家都知道在12CR2中出現一種新的查詢轉換技術臨時表轉換, 在下面的例子中,數據庫對customers表上的子查詢結果物化到一個臨時表中:
SQL> show parameter star_transformation_enabledstar_transformation_enabled string FALSESQL> alter session set star_transformation_enabled='true';Session altered.SQL> SELECT c.cust_city, 2 t.calendar_quarter_desc, 3 SUM(s.amount_sold) sales_amount 4 FROM sales s, 5 times t, 6 customers c, 7 channels ch 8 WHERE s.time_id = t.time_id 9 AND s.cust_id = c.cust_id 10 AND s.channel_id = ch.channel_id 11 AND c.cust_state_province = 'CA' 12 AND ch.channel_desc = 'Internet' 13 AND t.calendar_quarter_desc IN ('1999-01','1999-02') 14 GROUP BY c.cust_city, t.calendar_quarter_desc;Montara 1999-02 1618.01Pala 1999-01 3263.93Cloverdale 1999-01 52.64Cloverdale 1999-02 266.28San Francisco 1999-01 3058.27San Mateo 1999-01 8754.59Los Angeles 1999-01 1886.19San Mateo 1999-02 21399.42Pala 1999-02 936.62El Sobrante 1999-02 3744.03El Sobrante 1999-01 5392.34Quartzhill 1999-01 987.3Legrand 1999-01 26.32Pescadero 1999-01 26.32Arbuckle 1999-02 241.2Quartzhill 1999-02 412.83Montara 1999-01 289.07Arbuckle 1999-01 270.08San Francisco 1999-02 11257Los Angeles 1999-02 2128.59Pescadero 1999-02 298.44Legrand 1999-02 18.6622 rows selected.優化器使用臨時表SYS_TEMP_0FD9D6893_63D6F82來代替customers表,并且使用臨時表中的相關列來替換所引用的列cust_id和cust_city。數據庫創建帶有兩列(c0 number,c1 varchar2(30))的臨時表(從執行計劃中的 6 主站蜘蛛池模板: 乐亭县| 沁源县| 昭平县| 黎城县| 常德市| 洛川县| 云龙县| 马鞍山市| 河池市| 南昌县| 天门市| 宽城| 泸溪县| 武邑县| 长沙县| 黔南| 通许县| 昆山市| 桐乡市| 黄骅市| 内丘县| 巴塘县| 康定县| 出国| 白朗县| 蓬莱市| 太湖县| 凌源市| 芒康县| 沾益县| 科尔| 北海市| 尼玛县| 江津市| 田阳县| 建德市| 敦煌市| 洛浦县| 兴义市| 香港 | 岳西县|