前言
大家都知道在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 主站蜘蛛池模板: 湘西| 济阳县| 乌鲁木齐县| 鹤庆县| 浪卡子县| 榕江县| 丹东市| 离岛区| 同江市| 周至县| 内丘县| 利津县| 常德市| 常熟市| 明光市| 涟水县| 沽源县| 永安市| 莱阳市| 台北市| 特克斯县| 武城县| 定边县| 锡林浩特市| 太仆寺旗| 荆门市| 湛江市| 弥渡县| 夏河县| 松桃| 台南县| 永平县| 武胜县| 灵璧县| 阿拉善盟| 青海省| 申扎县| 曲靖市| 蒙自县| 临沭县| 和龙市|