Oracle9i ʵÌ廯Óͼ
  Oracle °×ƤÊé
2001 Äê           5 ÔÂ
Oracle9i ʵÌ廯Óͼ




ִиŠ                                                                                                                                                      Ҫ ............................................................................................................. 3
¼ò½é                                                                                                                                                    ...................................................................................................................... 3
ΪºÊ¹                                                                                                                                                         ÓøŠ                                                             Òª¹Ü                                                                                                    Àí .......................................................................................... 4
¸ÅÒª¹Ü                                                                                                                                                             Àí×é                                                              ¼þ .................................................................................................... 4
         ģʽÐè                                                                                                                                                                                                                             Çó ......................................................................................5
ά¶È                                                                                                                                                    ...................................................................................................................... 5
                ¶¨Òåά                                                                                                                                                                                                                        ¶ÈµÄ                                                                                             Ïà¹Ø                                                                                       Ìáʾ                                                                    ..................................................................6
ʵÌ廯                                                                                                                                                                  ÊÓͼ                                                                                                                                                  ........................................................................................................ 7
                       ´½¨Êµ                                                                                                                                                                                                                       Ì廯                                                                                             ÊÓͼ                                                                                                                           ..........................................................................8
                             ʹÓÃ×Ô                                                                                                                                                                                                                     ¼ºÔ¤                                                                                             ÏȽ¨                                                                                  Á¢µÄ                                        ʵÌå                          »¯ÊÓͼ                      ..............................................9
                                    ʵÌ廯                                                                                                                                                                                                                   ÊÓͼ                                                                                             µÄË÷                                                                                  ÒýÑ¡                                        Ôñ ..............................................................9
                                           ʵÌ廯                                                                                                                                                                                                                 ÊÓͼ                                                                                             ¿ÉÒÔ                                                                                  Íê³É                                     ÄЩ                           ¹¤×÷£¿               ..............................................9
                                                  ʵÌ廯                                                                                                                                                                                                               ÊÓͼ                                                                                             ʧР                                                                                                       ........................................................................10
                                                         °²È«º¬                                                                                                                                                                                                             Òå ....................................................................................10
¼ÓÔØºÍ                                                                                                                                                                       ˢР                                                     ʵÌå                                                                                               »¯ÊÓ                                                                                          ͼ ...............................................................................11
                                                                Íêȫˢ                                                                                                                                                                                                        Р.................................................................................... 11
                                                                       ¿ìËÙ¢                                                                                                                                                                                                    Р....................................................................................12
                                                                             Ë¢ÐÂºÍ                                                                                                                                                                                               Ô¼Êø                                                                                      Ìõ¼þ                                                                                                   ........................................................................12
                                                                                    Êý¾Ý¿É                                                                                                                                                                                             ÓÃÐÔ                                                                                                                                   ................................................................................13
                                                                                           ·ÖÇøÎ¬                                                                                                                                                                                           »¤²Ù                                                                                 ×÷ºÍ                                                                         ʵÌå                                    »¯ÊÓ                             ͼ ....................................................13
²éÑ¯ÖØ                                                                                                                                                                            д ...........................................................................................................13
                                                                                                  ÆôÓà                                                                                 /½ÃÓû                                                                                                                                       ¯Ñé²                                                                                            ´ÐØÖ                                                 ...................................................................14
                                                                                                       ²éÑ¯ÖØ                                                                                                                                                                                    дµÄ                                                                                 ÀàÐÍ                                                                                         ........................................................................14
                                                                                                                                                                                       Íêȫƥ                                                                                                                                                                                                               Åä ............................................................................14
                                                                                                                                                                                              ¸ÅÒªÁ                                                                                                                                                                                                           ½Ó·µ                                                          »Ø ....................................................................15
                                                                                                                                                                                                    ¸ÅÒª»ã                                                                                                                                                                                                         ×Ü»ò                                                       ¾ÛºÏ                           ËùÓÐ                        ........................................................15
                                                                                                                                                                                                           Êý¾Ý×Ó                                                                                                                                                                                                       ¼¯ ............................................................................15
                                                                                                              ²éÑ¯ÖØ                                                                                                                                                                                  дÍê                                                                                 ÕûÐÔ                                                                    ·½Ê                                            ................................................................16
                                                                                                                     ½á¹ûÊÇ                                                                                                                                                                                ·ñÕý                                                                                 È· ............................................................................17
                                                                                                                            ½âÊÍÖØ                                                                                                                                                                              д ....................................................................................17
¸ÅÒª¹Ë                                                                                                                                                                              ÎÊ ...........................................................................................................18
                                                                                                                                   Ìṩ¸º                                                                                                                                                                         ÔØ ....................................................................................18
                                                                                                                                          ÍÆ¼öʵ                                                                                                                                                                    Ì廯                                                                          ÊÓͼ                                                                             ........................................................................19
                                                                                                                                                                                                                  ʵÏÖÍÆ                                                                                                                                                                                                  ¼ö ............................................................................19
                                                                                                                                                                                                                         ¹ýÂ˸º                                                                                                                                                                                             ÔØ ............................................................................20
                                                                                                                                                 ¹À¼ÆÊµ                                                                                                                                                                  Ì廯                                                                          ÊÓͼ                                                            µÄ´ó                                С ............................................................20
½áÂÛ                                                                                                                                                    ....................................................................................................................20




                                                                                                                                                                                                                                                                                                                                                                                                Oracle9i ʵÌ廯ÊÓͼ                                                                                                                             µÚ                    2 Ò³
Oracle9i ʵÌ廯Óͼ




                                                                                                                                      Ö´Ð ¸ÅÒª

ñ½ ìÌ Äµ ýÊ ¬£â¿Ý¾                                                                                                                                                                                                                                         ÛÂÞÎ                        ݾýÊÇ                                    Ö² â¿ ¢¡ ýÊ ÐÖݾ                                                         ¹»ÄÐ              ÇÊ    OLTP ϵͳ                                              £¬ ¶¼
  °üº¬´óÁ¿µÄÐÅÏ¢ÈýËÃÇ¥·ÖÍÀí½â¡£»¶øçÎÒԼʱ
                                          µÄ·½Ê²éÕҺͱí¾âЩÅϢǻ¸öÖØ´óÎÌ£¬ÓÈÆäèªËÑ
                                                                                   Ë÷ÅÓ´óÊýÁ¿ÐÏ¢µÄ±ºò¡£
                 ʵÌ廯ÓͼÄܹ°ïÖú½â¾öոΣ¬ÒòªËüá©Á¿ìÙ·Ã
                                                                                                                                      ºÍ±¨¸æÊý¾ÝµÄ·½¡£


                                                                                                                                      ¼ò½é

ʵÌ廯Óͼ×ÏÈÔÚ                                                                                                                                                                                                                                                         Oracle8i ÖÐÒýÈ룬ÊdzÆÎª¡°¸Å¹ÜÀí±µÄ×é¼þ
                                                                                                                                      µÄÒ»²¿·Ö¡£ÉÜú¹«Ë¾Ñ-ÔÚÊÓÃÌå¯Í¼¬ªÀü
                                                                                                                                      ÆäËûÃ×Ö£¬ÀýÈç¸ÅÒª»ò¾ÛºÏ±í¡ÔÚÕâïÎÇÌ´½¨Í¹Ü
                                                                                                                                      ʵÌ廯                                                              ÊÓͼ                         £¬ »¹ ÌÖÂÛ                        ²éѯ                          ÖØÐ´¹¦                          ÄÜÈç                                 ºÎ͸                  Ã÷µØ              ÖØÐ´                     SQL ¯Ñé²                                   ¬£ Ó´
                                                                                                                                      ¶øÊ¹ÓõÌ廯ͼÀ´Ëõ²éÑÏ즱䡣Õ⽫ý¾Ý¿§êÈ
                                                                                                                                      ÎÞÐèÖªµÀ´æÔÚÄ©ÊÌ廯Óͼ¡£
                 ʵÌ廯Óͼ¦¿´×÷ÇÒÖØâÄ£¬ËüÎïÀíÉÏæÔÚý¾Ý
                                                          ¿² ¬£ ÔÒÉ¿                                                                                                                                              ¨Àü°                      Ó½ªÁ                  ͺ                           /»ò¾Û                     ºÏ¡£        Ëü ÄÜ                                ¹» ÔÚ                  Ö´ Ð             Ö® ǰ          Ô¤ ÏȼÆËã                           ¿ªÏú                               ´ó
                                                           µÄÁª½ÓºÍ¾ÛϲÙ×÷£¬Òò´ËüæÔÚõ¶ÌéѯÖÐʱ¼ä¡
½ñÌ죬                                                                                                                                                                                             ʹÓà                         ×ÔÉí                ¸ÅÒª                        µÄ¹«                            ˾»¨·Ñ                               ÁË´ó                          Á¿µÄ                    ʱ¼ä            ÓÃÚ       ÊÖ¹¤´              ½¨¸Å                              Òª¡¢
                                                                                               ʶ±ð½«´¨ÄЩ¸ÅÒª¡¢ÔøË÷ýºÍü£¬¼°éÓû§¹
                                                                                               ÓÃÄЩ¸ÅÒª¡£
ÏÖÔÚ                                                                                                                                                                                          DBA ½«öÐëÔÚ¿ªÊ¼±´¨µÌ廯ÓÍ£¬¶øÎÞÂÛý¾Ýº
                                                                                               ·¢Éú±ä»¯£¬Ëü¶¼½«×ԸС´Íâ¹ÓÒöŪÎÊéþ
                                                                                               Ïò                                                                                 DBA ÍÆ¼ö´½¨¡¢É¾³ýº±£ÁôÄЩʵÌ廯Ó
                                                                                               Êý¾Ý²Ö¿â»òÓ罫ÉÒÔÌåáµ¹¯Í¼Ä×î´óº¦
                                                                                               Ö®Ò»                                                                                     £¬ DBA ÎÞ Ðë ÔÙ ¸æ Ëß Ëû ÃÇ´æÔÚ                                                                                                                                             ÄЩ                   ʵÌå                »¯ÊÓ      ͼ ¡£ ËûÃÇ¿É                           ÒÔ¶                                 Êý
                                                                                               ¾Ý¿âÖÐ                                                                                           µÄ±í      »òÊÓ    ͼ±à  д×Ô      ¼ºµÄ²é                                                                                                                    ѯ¡£                   È» ºó                      Oracle ·þ ÎñÆ÷µÄ                                              ²éѯ                             ÖØ
                                                          д»úÖÆ                                                                                                                           ½«×Ô      ¶¯ÖØ      д      SQL ²éѯÒÔ                                                                                                             ʹÓà                                   ʵÌå                »¯ÊÓ      ͼ¡£    Õâ Ñù¾Í´ó                                        ´óËõ                             ¶Ì
                                                          Á˲éѯÏìӦʱ¼ä£¬Öնû§ÎÞÐë¡°½â¸ÅÒª




                                                                                                                                                                                                                                                                                                                                                                                                                  Oracle9i ʵÌ廯ÊÓͼ                                              µÚ            3 Ò³
µ±ÏòÊý¾Ý²Ö¿âÕ¶ËÓû§ÎÆðûǣʹÐñ¬ó·È¼
                                             »áش𣺿ìËÙ׼ȷµÄÐÅÏ¢¡«ÊÇÕâÒ²¸øý¾ÝÖÉèÆß³öÁó
                                             ÄÑÌ⣺ΪÁ˻شð¡°ÔÚ                                                                                                                                             y µØãÎÒÃÇÂô³ö¶àÉÙ¼þ                                                                                                                                   x ²úÆ·¡±£¬ÍÊÏ
                                             Íû±ÜÃâ¶ÁÈ¡íÖеĿһ£¬Øë½¨¢ÌõÊý¾ÝìËÙ·ÓÉ
                                             ½â¾ö´ËÎÊÌ×î³£¼ûµÄ°ì·¨Ö®Ò»ÍǸŪ±í¬                                                                                                                                                                                                                                                                                                    Oracle ½«Æä³Îª
                                             ʵÌ廯Óͼ¡£ÕâÒ¹¤×÷°üÀ¨ÏȪí½äиºÉ¬ó´æÄ
                                             ·Ç³£Ð¡                                            µÄÊ                                                          Ì廯               ÊÓͼ                      £¬ ʵ Ì廯ÊÓ                                             ͼÖÐ                            ¿ÉÒÔ                       °üº¬                          ËùÐè                                    ÐÅÏ¢µÄ            Áª½Ó           ºÍ          /
                                             »ò¾ÛºÏ¡£ÀýÈç¬ÎªÁËØ´ðÇ°ÃæµÄÊÌâå¯ÓͼÖп²úÆ·¶Ô
¦Ó ÚÓ ¬£Ð »Ò                                                                                                                                            ÷Ã¸Ö   ö¸¿Ã  ĵòÓøÇ                                                               úÏ £¡¿ÁÛÊ                                               Ë´òÒ                       û¹çÈ                        «¹Ò¼»                                              ¾Ë ÚÔ 5 صö¸
                    µãÏúÊÛ                                                                                                                           2000 ¼þ ²ú Æ· £¬ Ôò ½«Òª¶Á                                                                            È¡µÄ                            ×î´ó                        ÐÊý                        ʼÖÕ                                        Ϊ              10000£¬¶ø  ÎÞ
 ÂÛÒѾ-ʳö¶àÉÙÌÆ·¡£
ºÜÃ÷ÏÔ£¬ÊµÌ廯Óͼ±ØÐëÖ¤¾«È·¸õÒâζ×ÅÕ˧
ÔÚÐèÒª¶ÁÈ¡µÄÊýºÜÉÙ£¬ò´Ë¿¼ÖÕìØ½Óá¹û¾Ýâ
ÈÝÁ¿ÒѾ-Ôö³¤µ½Õ×ÖÚ£¬ò´ËʹÓÃâùÄ·¨Àõ¶Ì²é¯Ïì¦
ʱ¼ä¾ÍÏԵýÀ´ÖØÒª¡£ñÌìÐí¶àÕã¨ÁË׺ĸŬ
Òò´ËʹÓà                                                                                                                                                Oracle8 ¸ÅÒª¹ÜÀíËù´øµÄ¶îÍâºÃ¦ÊÇ£
                                                                                           •         Oracle ÖÐµÄ                                                                                  ²éѯ                             ÖØÐ´             »úÖÆ                          ÊÇ͸Ã÷                        µÄ²¢                       ²ÉÓà                                        ʵÌå                   »¯ÊÓ          ͼ £¨          ¼´
                                                                                                     ʹËü½öÄܲ¿·ÖÂú×ãéѯµÐèÒª£©¡
                                                                                           •


                                                                                           •
                                                                                                     ÊÓͼ¡£
                                                                                           •                                       DBA ²»ÔÙÐèÒª¨Ê±¼äéÕÓ¦´½Ä©µÌå¯Í¡£Ï³
                                                                                                                                   ½«»ùÓÚ                               ¹ýÈ¥               ¶ÔÊý                             ¾Ý¿â             »òÊý                        ¾Ý²Ö¿â                          µÄ²é                       ѯ£¬                                          Ïò                        DBA ÌṩÓÐ
                                                                                                                                   ¹ØÐèҪĩ¸ÅµÏ¢¡£


                                             ¸ÅÒª¹ÜÀí×é¼þ

                                             ×é³É¸ÅÒª¹ÜÀíµÄÓÐÎåö¼þ£º
                                             •
                                             •
                                             •
                                             •
                                             •
                                             ²¢»ÐèҪʹÓÃËù×é¼þ£¬µ«Ñ¡ÄÔ½¶àñÅÆ¾Í
                                             ¶à¡£ÏÖÔÚÎÒÃǽ«ê¸ÌÕâЩ×é¼þ




                                                                                                                                                                                                                                                                                                                                    Oracle9i ʵÌ廯ÊÓͼ                                                                       µÚ         4 Ò³
ÓÃÚʵÌ廯ͼģ½ÀàÐòÉèÆ²´ÏÞÖ¡ÒËÔý¾Ý
¿â»·¾³ÖУ¬ÄʽÉÒÔÇÑ©»¨Ê½µÄÉè¼Æ£¬«ÕⲢDZØÐë¡
¶ÔÓÚÊìϤ²úÆ·µÍ³ÖÐý¾Ý¿âÉè¼õÄÕßÀ´Ë£¬Ò»¸ö
²Ö¿âбØëʹÓûͬµÄæÔòº¼õ¡£ÀýÈçúÆ·¾Ý¨³Ç
·¶»¯µÄ£¬Òò´ËÔÚÕâÖÇé¿öÏÂʱ¼äÎí¾½¨×îºÃ²ÉÓÈý¸
±í£º                                                                                                                                        ÈÕ¡¢ÔÂÄê                                               ¡£Áª½ÓÌõ¼þ¦¸ÃÂú×㺫¿ö                                                                                                                              ÈÕÆÚ                    ÐÁ¬½ÓµÒ»¸ö
£¨½öÒ»¸©                                                                                                                                                                      ÔÂ·Ý                 У¬Ã¿¸ö                                                                                     ÔÂ·Ý           ÐÁ¬½ÓµÒ»¸ö£¨©                                                                              Äê·Ý         С£
                                             Êý¾Ý²Ö¿âµÏͨ³£½«¼ÂÒ»¸öêÈ·Ç¹æ¶¯Ä                                                                                                                                                                                                                                                                                           ʱ¼ä                ά±í£ÆäÖÐ
ÈÕÆÚ¡¢Ô·ÝÄê                                                                                                                                                                                                               À¸¶¼´¦ÓÚͬһö±íÖС£²¹ýÎÞÂÛÉèÆÊõÄ
Êǹ淶»¯±í£¬¼¿ÉÒÔÓõÌåÍ¡


ά¶È

ÔÚ´½¨                                                                                                                                                    Ò»¸ö          ʵÌå                 »¯ÊÓ                                                                       ͼ֮             ǰ£¬                 µÚ Ò» ²½ Ó¦ ¸Ã ÊÇ »Ø ¹Ë                                  Ä£ ʽ £¬ Ö¸ Ã÷ά                                      ¶È¡£
ά¶È¨                                                                                                                                                    ÒåÁË          ÁÐÖ®                 ¼äµÄ                                                                       ²ã´Î             »¯ £¨                  ¸ ¼¶ /×Ó ¼¶ £© ¹ØÏµ£¬                                    Ëù ÓеÄÁ       ÎÞÐë                                          À´
×Ôͬһ¸ö±í¡£ÎÃÇ¿ÁƼ¶¨åÊý¾ÝµÄÈòªÕ⽫ÓÐÖúÚ²é
Ñ¯ÖØÐ´ºÍ¸ÅÒª¹ËÎÊ×ö³ü¼¾²ß¡£
Êý¾Ý¿âÉè¼ÆÕßËùÃæÁÙµÄíÒ»¸öÎÌÇ£¬·±²éѯ½«áÖÓ°
ËùÓеÄά¶ÈÁ£ø½ö²¿¼ëÏà¹ØÇÒ»Àýçéѯ
ÐÇÆÚ¶þø²»Ê¾ßÌåÈÕ¡£Òò´Ëµ±¨Áά֮ºó¹ØëÃèö
¶ÈÁкͱíÖÆäËü®¼µÄ¹ØÏ¡£
ͼ                                                                                                                                       1 ¾ÊÔÏ                 ü°ËÁ                 ½Á¬º                                                                       ã²ö¸             ĵδ                    ±Ê £¡¬Îä¼            »ÒÓ´         ¸Öö               ÚÆÕȨ¶                                    ª¿ ¼Ê ¬£ ÐÓ »Ò
¸ö²ã´ÎæËßÒÃÇÈÕÆÚɼ°ÄЩþÖÜ¡¢Ô»ò꣬¶øÁí
¶¨ÒåÁËÈÕ¡¢Ô¼¾ºÍÄê֮䵹ØÏ£
µ±¶¨ÒåÁË»¸ö²ã´ÎÖ®ºó£¬¿ÉÔàÐÀÃèÊýÈç
Èç¹û                                                                                                                                                   City ÔÚÿ¸ö                                                                                             State Ö®ÄÚÊÇΨһµ£¬«Ô                                                                                     States Ö®¼ä²»Î¨
                                                                               Ò»£¬ÄÇô¾ÍÐèªÖ¸¶¨öµØÀí²ãÎÆäʽÈç                                                                                                                                                                                                                                                        £¨ Country, State,
<State, City£©¬´Ó¶øÂú×ã                                                                                                                                                                                                                                                                               City ¼¶µ½               State ¼¶Ö®äÑϸñµÄ                                                                 1:n ²ã
                                                                                                                 ´Î¹ØÏµ¡£
                                                                                                                 ¿ÉÒÔʹÓÃÁ½Ö·¨À´Î¬¶È£º
                                                                                                                 •                          SQL CREATE DIMENSION Óï¾ä£¬Èçͼ                                                                                                                                                                           2 Ëùʾ
•                                                                                                                                           Oracle ÆóÒµ¹ÜÀí÷ÖÐÄά¶ÈÏò¼




                                                                                                                                                                                                                                                                                                                                                  Oracle9i ʵÌ廯ÊÓͼ                                            µÚ                5 Ò³
1 ½éÉÜʱ¼äά
                                                                                                                                                                                                                                 °´Õͼ                                                      1 ö³-»                                                        ¬£È¶ Î                        ÔÒÉ¿
                                                                                                                                                                                                                                 °ïÖú                                                      DBA Íê³É¶¨Òå¹ý
                                                                                                                                                                                                                                 ³Ì¡£Ã¿¸öԲȦ´ú±íά¶ÖÐ
                                                                                                                                                                                                                                 µÄÒ»¸ö                                                                ¼¶±ð                         ¹ý                                    LEVEL
                                                                                                                                                                                                          ×Ó¾äÀ´ÉùÃ÷¡£Î¬    ²ã´Îͨ                                                                                                                                                                ¹ý
                                                                                                                                                                                                          HERARCHY ×Ó¾äÀ´Éù
                                                                                                                                                                                                          Ã÷¡£¸ÅÒª¹ÜÀí²Í¬Ñùµ
                                                                                                                                                                                                          ÓÚ                                                                  DBA ¶¨ÒåÔ¼ÊøÌõþ£¬
                                                                                                                                                                                                          ±£Ö¤²ã´Î¼¶ðÐÿһ
                                                                                                                                                                                                          µÄÁзǿա£
                                                                                                                                                                                                          ÔÚͼ                                                                             2 ¬£ÐÖ                                        ÇÃÒÎ                              ÔÒÉ¿  ½µ´¿
                                                                                                                                                                                                          ´½¨¸Ãά¶ÈµÄ                                                                                                                                                     SQL Óï
                                                                                                                                                                                                          ¾ä¡£¼¶±ðÃû³ÆÔÓ¦Úάí
                                                                                                                                                                                                          ÖеÄÁ¡£È»ºóʹÓÃÕ⩼¶
                                                                                                                                                                                                          ±ðÃû³ÆÀ´èÊö¿Ò»²ãΡ£
                                                                                                                                                                                                          ×îºó                                                                   £¬ ʹ Óà                                                       ATTRIBUTE
                                                                                                                                                   ×Ó¾äÀ´¶¨ÒåßÐÖ±½¹ØÏµ
                               µÄÏî¿                                                       ¡£Òò             ´ËÊô            ÐÔ   calendar_month_name ¶¼ëÓ                                                                                                                                         ð±                        month ÐÓ £¡µÏع
                               ʹÓà                                                      JOIN KEY ×Ó¾äÀ´ÉùÃ÷ά¶ÈÖÐµÄ                                                                          1:n Áª½Ó¹ØÏµ¡£ÔÚʱí
                               ºÍά±íÖ®¼ä£Ê¹ÓõÐÄ                                                                                                                                      FOREIGN KEY ºÍ                                                                                                                                          NOT NULL
                               Ô¼ÊøÌõþÀ´±í¾ÕâÖÁª½Ó¹ØÏµ¡£


¶¨Òåά ȵÄÏà¹ØÌáʾ
Ϊ°ïÖú´½¨¬¶È£ÇëÕÏÂÃæµÄ¼ò¥²èº
1. Ö¸Ã÷Ä£                                                                                            ʽÖÐ            µÄËù               ÓÐά           ¶ÈºÍ                  ά±í¡£               Èç¹û                                                   ά¶È                       ÊÇ¹æ                                    ·¶»¯                    ¼´ Ëü ´æ       µÄ£¬
                                                             ´¢ÔÚ¶à                                  ¸ö±í            ÖУ¬        ÄÇô           Çë¼ì                ²éά±í                        Ö®¼ä                                                   µÄÁª                       ½Ó£¬                             È·±£                        ÿ¸ö×Ó  ¼¶ Ð
                                                             Áª½Óµ                                   Ò»¸ö           £¨ ½ö               Ò» ¸ö          £© ¸ ¼¶Ð                              ¡£ ¶Ô ÓÚ·Ç                                                                ¹æ·¶                                   »¯Î¬                      ¶È £¬ Çë ¼ì ²é ×Ó
                                                             ¼¶ÁÐÊÇ                                  ·ñΨ             һȷ                ¶¨¸            ¼¶£¨   »òÊôÐÔ                            £©ÁÐ                                                          ¡£Èç                       ¹û²»                                    ×ñÊØ      ÕâЩ¹æ        Ôò £¬
                                                             ¿ÉÄÜ»áÔÚ²éѯʱµÃ½´íÎó¹û¡£
2. Ö¸Ã÷¿                                                                                           һά          ¶ÈÖÐ                   µÄ²ã           ´Î¡£      ÀýÈ磬                           day ÊÇ month µÄ ×Ó ¼¶ £¨ÎÒ                                                                                                                                                               ÃÇ¿É
                                                             ÒÔ½«                                 day ¼¶±ð¾ÛºÏµ½                                              month£©£¬                           quarter ÊÇ year µÄ×Ó¼¶¡£
3. Ö¸Ã÷²ã´Îпһ¼¶±ðµÄÊôÔÀ¹ØÏ¡£ýÈç¬
                                                             calendar_month_name ÊÇ                                                                                                   month µÄÊôÐÔ¡£
4. Ö¸Ã÷Êý¾Ý²¿âÐöµ±í½Î¬¶È®¼äÄÁªÓ£ìé
   Ó½ ¬£ ·È £± ¿Ã ö¸ ÂÊ µÊ Ð ½µÓ ªÁ                                                                                                            »Ò ö¸ ö½¨£             ©£ö¸»Ò                              ȶ¬Î              £¡Ð    ëÐØ±                                                                                                                                                  ÷ÃùÉ
                                    ¸ÃÌõ¼þ                                                    £¬ ¶ø ÇÒ»¹       ¿ÉÒÔ     Ñ¡Ôñ      ÊÇ·ñ¿                 ÖÆ´                иà             Ìõ¼þ                     £¬ Æä ·½¨ÊÇ                                                                                                                                                             Ïò ÊÂ
                                           ʵ¹Ø¼üÁÐÌíÓ                                                        FOREIGN KEY ºÍ NOT NULL Ô¼ÊøÌõþ£¬
    Ïò¸¼¶Áª½ÓüÌí                                                                                                        PRIMARY KEY Ô¼ÊøÌõþ¡£¿ÉÒͨ¹ý
                 NOVALIDATE Ñ¡ Ïî À´ Æô ÓÃÕâЩ                                                                                                                   Ô¼Êø               Ìõ¼þ£¬           ´Ó¶ø              ÎÞÐë               »¨·Ñʱ                                                                                                                                                       ¼ä
                                                       À´ÑéÖ¤                                   ±íÖÐ     µÄÿ       һР     ÊÇ·ñ       Âú×ãÕâ              ЩԼ               ÊøÌõ             ¼þ¡£           ¶ÔÓÚ             Ëù ÓÐδµÃ                                                                                                                                                              µ½
                                                              ÑéÖ¤µÄÔ¼ÊøÌõþ£¬»¹ÐèҪ                                                                 RELY ×Ó¾äÀ´Ê¹ÆÄÜ»ÃÚ²é
                                                                                     Ñ¯ÖØÐ´¡£


                                                                                                                                                                                                                                                                                   Oracle9i ʵÌ廯ÊÓͼ                                                                             µÚ             6 Ò³
2 ´ ½¨Ê±¼äάµÄ                                   SQL Óï¾ä
CREATE DIMENSION times_dim
LEVEL day IS TIMES.TIME_ID
LEVEL month IS TIMES.CALENDAR_MONTH_DESC
LEVEL quarter IS TIMES.CALENDAR_QUARTER_DESC
LEVEL year IS TIMES.CALENDAR_YEAR
LEVEL fis_week IS TIMES.WEEK_ENDING_DAY
LEVEL fis_month IS TIMES.FISCAL_MONTH_DESC
LEVEL fis_quarter IS TIMES.FISCAL_QUARTER_DESC
LEVEL fis_year IS TIMES.FISCAL_YEAR
HIERARCHY cal_rollup
( day CHILD OF
month CHILD OF
quarter CHILD OF
year )
HIERARCHY fis_rollup
( day CHILD OF
fis_week CHILD OF
fis_month CHILD OF
fis_quarter CHILD OF
fis_year )
ATTRIBUTE day DETERMINES
(day_number_in_week, day_name, day_number_in_month,
calendar_week_number)
ATTRIBUTE month DETERMINES
                                      Oracle9i ʵÌ廯ÊÓͼ                           µÚ   8Ò³
(calendar_month_desc, calendar_month_number,
calendar_month_name, days_in_cal_month,
end_of_cal_month)
ATTRIBUTE quarter DETERMINES
(calendar_quarter_desc,calendar_quarter_number,
days_in_cal_quarter, end_of_cal_quarter)
ATTRIBUTE year DETERMINES
(calendar_year, days_in_cal_year, end_of_cal_year)
ATTRIBUTE fis_week DETERMINES
(week_ending_day, fiscal_week_number) ;



ʵÌ廯 Óͼ

Ò»µ©¶¨ÒåÁËάȣ¾Í¿ÉÔ´½ÊµÌ»¯Ó¼¡ÏÖÚÃÇ«×ÅØéÜ
ʲôǵÌ廯Óͼ£¬ÔÚºóæÎÒ½«¿¨é¹¦ÄÜÈçÆö
ЩʵÌ廯Óͼ¡£
ʵÌ廯Óͼ                                                      ¶¨Òå¿É°üÀ¾ÛºÏ£¬ýÈç                           SUM MIN¡¢ MAX¡¢ AVG¡¢
COUNT(*)¡¢ COUNT(x)¡¢                                                                                COUNT(DISTINCT)¡¢ VARIANCE »ò
STDDEV, »¹¿ÉÒÔ°üÀ¨¸öò¶àÁª½ÓµÆðıíºÍ
GROUP BY¡£¿ÉÒÔ½øÐË÷ýºÍ·ÖǬ»¹Ó¦Ãù±¾µÄ                                                                                                      DLL ²Ù
×÷£¬ÀýÈç CREATE¡¢ ALTER ºÍ                                                                                 DROP¡£




                                                                                                                    Oracle9i ʵÌ廯ÊÓͼ      µÚ   7 Ò³
•
                                                    •                                                                                                                                                                           SQL ÃÓ¦          òÐ̳                       ¸ÍÇÊ                        ĵ÷à                ¬£ Ë´òÒ    DBA
                                                                                                                 ¿ÉÒÔÚÈκʱò´½¨»¾³ýµÌå¯Óͼ¶ø²°Ïì                                                                                                                                                                               SQL Ó¦Ã
                                                                                                                 ³ÌÐò¡£
•


Ðí¶àÕ¾µã¼ÒÑ-ÓÁËÊýݲֿ⣬¢ÔÚÆä¨å׺ĸŪ¡ò
´Ë¿ÉÒÔͨ¹ý²éÑ¯ÖØÐÀ×¢áÏӸŪ£¬¶ø»ÊÇÆÈçÁã¼
ÖØÐÂÉú³¸ÅÒª¡£


                                                    ´ ½¨ÊµÌ廯 Óͼ
                                                    ʹÓà                                        CREATE MATERIALIZED VIEW Óï¾ä                                                                                                                                         ´½¨                        ʵÌå             »¯ÊÓͼ                  ¡£ ͼ 3
                                                    ½éÉÜÁË                                       ÈçºÎ      ´½¨ Ò»¸ö   ÃûΪ         costs_mv µÄÊ                                                                                                         Ì廯                        ÊÓͼ                       £¬ ͨ         ¹ý          time ºÍ
                                                                                           prod_nam À´¼ÆËã          costs µÄ×ܺ͡£
                                           µ±¶¨Òå                                                                                                  ÁËÒ»          ¸öʵ                 Ì廯        ÊÓͼ      Ö®ºó      £¬ ëÐØ± ØÊñ×  ©Ð»Ò æ¹¥µò¼         £¡òÔ     SELECT
                                                                                           ÁбØë°üº¬ËùÓ                                                                                      GROUP BY ÁУ¬¶ø                       GROUP BY ÁбØëΪ¼òµ¥
ÐÁ £¡ ªÒèÐ                                                                                                                                                Ϻ۾          í±Äµ                 ½Êï´      ÔÒÉ¿      ÇÊ ÎÈ Îº ĵ SQL Öµ±í           ´ï ʽ £¬ ²» °üº¬    ×Ó²é
  ѯ»òÍø×´¾ÛºÏ¹¦ÄÜ¡£
                                                    WHERE ×Ó¾ä                                                                                                                 ½öÔÊ             Ðí°ü       º¬ »ùÁÐÉÏ                µÄÚ   ²¿Í¬                 µÈÁª                        ½ÓÎ                       ´Ê¡£         ʵÌå          »¯ÊÓ
                                                    ͼ¿ÉÒÔÓµÐ׺Ĵ梹·¶£¬ÕâÑù¾Ö¸¨ËüÚö±í
                                                    ¼äÖÐÒÔ°ÆÇøÓòµÄ´ó¡£ú»¹¿É½«·×¾üÀ¨¬±ã
                                                    ʵÌ廯ÓͼÄÚÈÝ´æ¢Ô¶à¸ö±í¿ÕäÖС£
                                                    ±íºÍÊÓ¼¶¿ÉÒÔÃÚµÌ廯ĨÖС£ò´Ë¬²ÎǰæÀý
                                                    ×Ó£¬³É±¾¿ÒÔ÷Ϊ»¸öí¶ø²úÆ·Êͼ¡Èç¹û
                                                    ÔÚʹÓà                                                                                                SYSDATE ºÍ                                   USER ÕâÑùµÄ¹¦ÜʱûÓи¾Ý§ä¯
                                                    Êý¾Ý£¬ÄÇôͿÉÒÔ¹ÓÈκ¼¡
                                                    ͼ                                                    3 ´ ½¨ÊµÌ廯 ÓͼµÄ                                                                                      SQL Óï¾ä
                                                    CREATE MATERIALIZED VIEW costs_mv
                                                    PCTFREE 0
                                                    STORAGE (initial 8k next 8k pctincrease 0)
                                                    BUILD IMMEDIATE
                                                    REFRESH FAST ON DEMAND
                                                    ENABLE QUERY REWRITE
                                                    AS
                                                    SELECT time_id, prod_name,
                                                    SUM( unit_cost) AS sum_units,
                                                    COUNT(unit_cost) AS count_units,
                                                    COUNT(*) AS cnt
                                                    FROM costs c, products p
                                                    WHERE c.prod_id = p.prod_id
                                                    GROUP BY time_id, prod_name;




                                                                                                                                                                                                                                                                                   Oracle9i ʵÌ廯ÊÓͼ                                     µÚ          8 Ò³
ÒѾ-ÓµÐÊýݲֿâÄÕãÉÜß±¸ÁËŪºÍ¹³ÌÀ´Î¬»¤
                                          ͼ¡£Òò´Ë¬ûÃÇÏÀÓ²éÑ¯ÖØÐ¹¦Äܶø»Â½¨¸Åª
                                          ¿ÉÒÔʹÓÃCREATE MATERIALIZED VIEW Óï¾äÒÔ¼°                                                                                                                                                                ON
                                          PREBUILT TABLE ×Ӿ佫ÒÑ-´æÔÚµÄ±í¢²áΪÊÌ廯ͼ¡£
                                          ʵÌ廯ÓͼÄÃû³Æ±ØÐëíÏଣ¹á©èö´
                                          ½¨¸Ã±í                                                                            µÄ²é          ѯµÄ                                   SELECT ×Ó¾ä      ¡£ ¿É ÄÜÎÞ       ·¨Ê¼   ÖÕ±£        Ö¤ ²éѯµÄ      ¾«¶È                  Óë
±íµÄ¾«¶ÈÆ¥Å䡣ΪÁË¿·þ´ÊÌâ¬Ó¦¸ÃÔÚ¹æÖаüº                                                                                                                                                                                                           WITH
REDUCED PRECISION ×Ӿ䡣


                                          ʵÌ廯 ÓͼµÄË÷ÒýÑ¡Ôñ
                                          ¸ù¾ÝʵÌ廯ÓͼÖÐÄý¿ºÇ·ñ½øÔöÁˢ£¬ÉÜèÒª´
                                          ½¨ÊµÌ廯ÓͼÄË÷Òý¡£ò´¬¦¸Ã¿ÂÇ×ÏÈöα¾Ø
                                          Ë÷Òý£¬ÆäÖаüºùÓʵÌ廯ͼ¹Ø×¡û¿ÉÔ
                                          »¯ÊÓͼ¹Øü×ÖÁÐÉϵĥÎË÷Òý¡£
                                          µ±´½¨Ë÷ÒýÊ£¬²»ªÍü¼Ç¿Âøö¶Ôæ¢ÕäÄó°
                                          Ë¢ÐÂʱ¼äµÄÓ°Ïì¡£


                                          ʵÌ廯 Óͼ¿ÉÒÔ ê³ Ä Ð©¹¤×÷£¿
                                          ÔÚ´½¨                                                                             ʵÌå          »¯ÊÓ                   ͼ֮                ǰ»ò   ¸Õ´     ½¨Ê±       £¬ DBA ¿ÉÄÜ            »á ¶ÔʵÌå       »¯ÊÓ                      ͼ
 ²úÉÕâÑùµÄÒÎÊ£ºËü¾¿¹Ü×öôÔìÙ¢ÐÂðÈçû»
Ð ¬£ ²ÊªÎ                                                                                                                          ØÄ´Ã          ¿£ DBMS_MVIEW.EXPLAIN_MVIEW ¹ý³Ì¿É                                                                          ÒÔÌá                    ¹©
                                     ¸ÃÐÅÏ¢¡£
                                                                                   ¿¼ÂÇÎÒÃÔÚÍ                                                     3 Öд½¨µÄÊÌ廯Óͼ£¬Èç¹ûÎÒÃǶɾ³ý
   COUNT£¨ *£©£¬È»ºóµ÷ÓÃͼ                       4 ÖнéÉܵĹý³Ì
 DBMS_MVIEW.EXPLAIN_MVIEW¡£Ëü½«¸æßÎÒÃǬ·ÖøÄ±äú
 ×Ù (PCT£© ¿ÉÓã¬ÒòΪ³±¾íÑ-»·ÖÇøËùÐÀàÍµÄ²é¯Ø´
¼¶ ÇÊ É¿ ÜÄ Äµ £¡ »È µÊÚÓÉ ¬£ø¶               åÌ ¯» ÓÊ ¼Í ÐÖ »Ã ÐÓ                                                                                                                                                               COUNT£¨ *£© Ë´òÒ¬£
   DML Ö®ºó¿ìËÙ¢ÐÂÒѾ-²»ÉÄÜÁ¡£
                                                                                                ͼ   4 ½âÊÍ µÌ廯 ÓͼʾÀý
                                          TRUNCATE TABLE mv_capabilities_table;
                                          EXEC DBMS_MVIEW.EXPLAIN_MVIEW (‘ SELECT time_id,
                                                    prod_name,SUM( unit_cost) AS sum_units,
                                                    COUNT(unit_cost) AS count_units, COUNT(*)
                                                    AS cnt FROM costs c, products p
                                                    WHERE c.prod_id = p.prod_id
                                                    GROUP BY time_id, prod_name’);


                                          SELECT capability_name, possible, related_text, msgtxt
                                          FROM mv_capabilities_table;
                                          PCT_TABLE:Y COSTS:
                                          PCT_TABLE:N
                                          PRODUCTS:      relation is not a partitioned table
                                          REFRESH_COMPLETE:Y




                                                                                                                                                                                                                          Oracle9i ʵÌ廯ÊÓͼ                       µÚ   9 Ò³
REFRESH_FAST:Y
                                            REFRESH_FAST_AFTER_ANY_DML:N
                                            see the reason why REFRESH_FAST_AFTER_ONETAB_DML is
                                            disabled
                                            REFRESH_FAST_AFTER_INSERT:Y
                                            REFRESH_FAST_AFTER_ONETAB_DML:N
                                            COUNT(*) is not present in the select list
                                            REFRESH_FAST_PCT:Y
                                            REWRITE:Y
                                            REWRITE_FULL_TEXT_MATCH:Y
                                            REWRITE_GENERAL:Y
                                            REWRITE_PARTIAL_TEXT_MATCH:Y
                                            REWRITE_PCT:Y



                                            ʵÌ廯 ÓͼʧÐ
                                            ʵÌ廯Óͼܽ³ÖÐøà¿Ø£¬È·±Æä°üºÄý¾ÝÇ×
                                            Ì廯ÊÓͼ§ÐµÄ¿Ç±£Ö¤²á·ØÒѾ-ýÝ¡
                                            ÊÓͼËù»ÚµÄ¶ÔÏó¸±ä£¬ü½«êÇΪ§Ð¡
                                            ¿ÉÒÔͨ                                   ¹ý²é   ѯ±í   USER_MVIEWS À´ÅÐ                             ¶¨Êµ              Ì廯            ÊÓͼ           µÄ״̬                               ¡£ Èç¹û
¶ÔʵÌ廯ÓͼÄ×´¬Ð²ÃÒÉΣ¿·¢³ö                                                                                                                                                     ALTER
MATERIALIZED VIEW COMPILE ÃüÁî                                                                                                                         À´È·                ±£ÁË        ½â Æä×îР                         ״̬                     ¡£


°²È«º¬Òå
Êý¾Ý¿âÖеij©ÐÅÏ¢¿ÉÄÜèÒªÞÖÆ·ÃÎÊ£¬²éѯشԱ»Ó
ÖÓØ»°²È«úÆ¡£¶ø¬ÉÚËùеķϼÊÇÔ                                                                                                                                                                              Oracle9i ·þ
ÎñÆ÷ÖнøµÄ£¬ËùÒÔ¿ÉÏòÊý¾ÝºÍÌ廯Ӽṩ¸üÇ´ó±
»¤¡£ ΪÁË                                                                                                                                                          ±ÜÃâ      ¶Ôʵ      Ì廯    ÊÓͼ   »òÏêÇé      ±íµÄ   δÊÚ È¨·Ã ÎÊ £¬ ÃÓ¹Ê CREATE
MATERIALIZED VIEW ʱ½«ÐèÒª                                                                                                                                                                                             CREATE MATERIALIZED
VIEW ȨÏÞ¡¢¶ÔêÇé±íµÄ                                                                                                                                                                                         SELECT WITH GRANT ȨÏÞ¡¢ÒÔ¼°¶
    ʵÌ廯                                                                                                                                                    ÊÓͼ      ÈÝÆ÷      ¶ÔÏó      µÄ      SELECT WITH GRANT ºÍ              INSERT ȨÏÞ ¡£
           ´ËÍ⣬Èç¹ûÓû§ÔÚijÎÇëóÖж±í½ø·ÊÕ©ÒѾ-¨
                                                  ÒåÁË»¸öò¶àʵ̯Óͼ£¬ÄÇô§½«±ÔÐí·Î
                                                                                   ͼ£¬¶ø²»¿ÂǸ³ÓèʵÌå¯ÈÝÆ÷±íĨÏÞ¡Òò´ËÎÛéÑÔ×
                                                                                                                             ºÎ´¦£¬Ö»ÓÐͨ¹ýÁ˰²È«¼ìéÅÄÜ·Ãʾݡ




                                                                                                                                                                         Oracle9i ʵÌ廯ÊÓͼ                                     µÚ             10 Ò³
ÔÚÀúÊ·ÉÏ£¬¸ÅÒª±í¹ÓÃý³ÌÖеĻöÎâ¾ÍÇõ¼Øº
                                           Ëæºó¸üС£Õâ©ÎÊÌâÏÖÔڵýÁ˾ö£¬Òòª¸Å¹ÜÀíá©ÁËһϵ
                                           ÁлúÖÆÊµÏÂÄ¿£º
                                           •
                                           •                                                                                                                                       /ºÏ²¢·Éú±ä»¯µÄÚÈÝ
                                           •
                                           Òò´Ë£¬                                                       DBA ±ØÐ뿼ÂÇèÒª¶àÉÙÊäÀ´½¨ºÍά»¤Ã¸öµÌå¯Ó
                                           ͼ£¬²¢ÔÚ»¨·ÑʱäÓë¹Ã¸µÌå¯ËùñÄÐÜÉÆÖ®½ø
                                           ÐÆ½ºâ¡£
                                           Oracle 9i ÌṩÁËÏÂÃæµÄ¢Ð·½¨£º
                                           •
                                           •
                                           •
                                           ÕâЩ²Ù×÷¿ÉÒÔ
                                           •
                                                                                                •                                                                                        (DBMS_MVIEW.REFRESH)
                                                                                                •
                                                                                                                                 (DBMS_MVIEW.REFRESH_DEPENDENT)
                                                                                                •
                                                                                                                                 (DBMS_MVIEW.REFRESH_ALL_MVIEWS)
•
°´ÐèË¢Âͨ¹ýµ÷ÓÃÉÏæùÁijÌÖ®Ò»ÀÊ£¬¶ø±å¯
ͼ·¢Éú¸Ä±äʳÓè                                                                                                                                           DBA ÍêÈ«µÄ¿ØÖƨÏÞ¡£
Èç¹ûÑ¡ÔñÁËÌá½»¢Ð£¬ÖҪʵå¯Óͼܴý¾Ý±äİÏì
Ëü¶¼½«×Ô¯¸ÐÂÒ·´Ó³ÃÊý¾Ý¡£È»ø¬ÇëÕâ÷Ϊù
±í·¢Éú¸üĵÊÂÎñÖÐÌá½»´¦ÀÒ²¿¶ø¡£òˬ
ÐÂËù»¨·Ñʱ¼äáÉÔ΢³¤Ò©£¬òªè¶-íºÍÓåÖ°ü
¸Ã±íµÄÊÌ廯Óͼ¬×÷³öü¡£


                                           ÍêȫˢÐÂ
                                           µ±ÊÌå                                                 »¯ÊÓ                                 Í¼ê         ȫˢ      ÐÂʱ           £¬ Ê×                       ÏÈ ½Ø   ¶Ï ¸Ã   ÊÓ Í¼   £¬ È» ºó ¼ÓÔØËù       ÓÐÊý         ¾Ý¡£
                                           ¼øÓÚʵÌ廯ÍÄ´óС£¬Õâ¿ÉÜáÇÒ¸öº±¹ý³êȫˢ
                                           ÐÂÔÚÏÁÇé¿öÊÒ»îºÜõļõ£
                                           •
                                                                                             50% ÒÔÉÏ¡£




                                                                                                                                                                                                                               Oracle9i ʵÌ廯ÊÓͼ          µÚ   11 Ò³
•
•


¿ìËÙ ¢ÐÂ
ÓÐÒ»©ÊµÌ廯Óͼ¿ÉÄÜá·Ç³£´ó¬²¾ßÐÖÀýêȫˢÂ
ËùÐèµÄʱ¼ä¡£Ò»ÖÌæ´ú·½¨Çø¿ì٢¬ö«í¯
µÄ²¿·ÖӦýÊÌ廯ͼС£ÔØý¾ÝâÈκ±íÂ
½«±»Ê¶ð£¬Èºó²Î¿¼¸ÃíµÄÌå¯ÓÍÀûÐÂý¾Ýø×Ô
¶¯¸üС£
ΪÁ˽øÐ¿ì٢²×÷£¬±Øë«Êý¾ÝÖµÄ仯¼ÇÏÀ´Ó
·½¨¿ÉÒÔʵÏÖÕâ»Ä¡£Èç¹ûø¾-Óà                                                                                                               SQL*Loader Ö±½Ó·¾¶«
Êý¾Ý²åÈëµ½¿âÖУ¬ÄÇôˢ»úÆ«¼ìÕÒ¹³Ì¸÷
Òª¼ÓÔØµÄÐÂÊý¾Ý¡£È»¶ø¬´óà±ä¯Çͨ¹                                                                                                                                            SQL ÃüÁî
INSERT¡¢                                                       UPDATE ºÍ                     DELETE À´½øÐ¡£ÔÚÕâÖÇé¿öϬʵÌå
»¯ÊÓͼËùÚµÄÿ¸ö±í¶ÐèÒª·Ý                                                                                                        MATERIALIZED VIEW
LOG¡£
  ÿ¸ö±í½ÐèÒª»·ÝÈÕÖ¾£¬ÊµÌå¯ÓͼÔÚ¶ø²
ÓÊ ¼Í ÐÖ £¡ òÒ çÈË´                                                        ýÊû¹    ÐÖâ¿Ý¾               ö½ ÐÓ          6 í±ö¸     úÉ¢·            ä±ËÁ             ¬£¯»        «½òÔ          ªÒèÐö½
                                    6 ·ÝʵÌ廯ÓͼÈÕÖ¾¡£«¿ÉÒÔÃκýÁÄÀ´¹â
                                    ЩÈÕÖ¾¡£
Çë×¢Ò⣬²·ËùÓеÄÊÌ廯ͼ¶¿ÉÔ½øìÙ¨¹ý
µ÷Óà                                       DBMS_MVIEW.EXPLAIN_MVIEW ¹ý³ÌÀ´È·ÏÆäÊÇñ¿ÉÒÔ
¿ìË٢С£¸Ã¹ý³Ì»½¨Òé誶Ôʵå¯ÓͼøÄ©²×÷¬´
ʹÆä¿ÉÒÔìË٢С£


ˢкÍÔ¼ÊøÌõ þ
Ç°ÃæÔø¾-Éù÷¹ý£¬ÀíÏëé¿ö¼ÊÌõþ¨ÓÈÆäÍâ²Øü×Ö
ÊøÌõ¼þ£©Ó¦¸ÃÔÚʵ±íÖж¨Ò壬´øÈ·Ä»¿Éë
       Ò»¸öά¶ÈÏàÆ¥Åä¡£µ±Ìá½´ÊÔ¼øõþЩ                                                                                                                           DBA »òÐíáÓÊÖ
ʾÒ⣬                                      Ðû³Æ                     ÓÉÚ    ¿ÉÄÜ      µÄÐÔ     ÄÜ¿ªÏú              £¬ ¸Ã Êý¾Ý            ¿âÖÐ            ½«²»     ÔÙÓм               ÊøÌõ                  ¼þ ¡£
È»¶ø£¬                                             DBA ¿ÉÒÔÈ·ÐÅ£¬Í¨¹ýÊÓÃ
ALTER TABLE <table name> ENABLE NOVALIDATE
CONSTRAINT <name> ×Ӿ䣬
¿ÉÒÔÁ¢¼´ÆôÓÃÊøÌõþ¶ÎÞÐèì²éý¾Ý¡£Èç¹û                                                                                                                                         SQL*Loader
Ö±½Ó·¾¶«ÊýÝ¼ÔØµíУ¬ÄÇôÈÏé¿öËùøÌõ
¼þ¶½«±»ûÓá£ÔØÊµíÖ®ºó¬·¢³öÆôï¾ä                                                                                                                                          NOVALIDATE
»áÁ¢¼´ÆôÓÃÔÊøÌõþ¶ÎÞÐëì²éý¾Ý¡£ÒòËüÚØ±ä
ûÓÐÈκ°Ï죬ÆôÔ¼ÊøÌõþ²èÒª¨·Ñ±ä¡¶ÉÚ
¼ÓÔØµÄÊý¾ÝûнøÑéÖ¤£¬Òò´ËÈ·±ù²á°Ïì
ÈκÍêÕûÐÔ¼ÊøÌõþ¾ÓªÖØÒ¡£




                                                                                                                                                Oracle9i ʵÌ廯ÊÓͼ                                   µÚ   12 Ò³
Êý¾ÝËäÈ»ÒÑ-¢Ð£¬µ«Ìå¯ÓͼԿÉò¹¨
                                            ÃüÁîALTER SYSTEM SET QUERY_REWRITE_ENABLED =
                                            FALSE ½ûÓà ²éѯ ÖØÐ´ £¬ Ö± ÖÁËùÓРʵÌå »¯ÊÓ Í¼¶ ÒѾ- ˢР¡£ Áí Ò»·½
                                            Ãæ£¬¶ÔÓÚÄÇЩ²»èҪʵÌå¯Í¼·´³×îÂØý¾Ý§¿É
                                            Ôڻ᰼¶ÆôÓòéÑ¯ÖØÐ´¡£


                                            ·ÖÇøÎ¬»¤²Ù×÷ºÍʵÌ廯 Óͼ
                                            Oracle9i Ìṩ                                                                                                                         ÁËÒ»              ¸ö³Æ              Ϊ ·ÖÇø±ä         »¯¸ú                ×Ù                 £¨ PCT£©                         é×ĵ              ¬£þ¼          é×ø                 þ¼
                                            ¿ÉÒÔ͸Ã÷µØ¼ì²â½·ÖÇø¢ú±ä»¯£¬ÈºóÅж¨Ù×Êñ¹Ìå
                                                                                      »¯ÊÓͼÖеÄý¾Ý²Ò¡£ÀÈ笺Ϣ·ÇøòÌí½«á°ì
                                                                                                                           µ½ÊÌ廯Óͼ£¬Ö´ÐÕâÑùĹý³²á±êÇΪ§
                                                                                                                                                            Ч¡£
                                                                                                                       ·ÖÇø±ä»¯¸ú×Ù¹¿ÉÒÔÓÃÚ÷²°ÏìÁËÄЩʵÌåͼ
                                                                                                                       С£ÀýÈ笹ûÒ»¸öÏêÇé±í·Öø½Ø¶òɾ³                                                                                                                                                          PCT ½«Ö¸Ã÷ʵÌå
                                                                                                                       »¯ÊÓͼÖÐܰÏìµÄ²¢½«Æäɾ³ý¡£
                                                                                                                       DBMS_MVIEW.EXPLAIN_MVIEW ¹ý³Ì½«¨ÒéĻʵå¯Óͼ
                                                                                                                       ÊÇ·ñ¿ÉÒÔ¹Óà PCT¡£


                                            ²éÑ¯ÖØÐ´

                                            ÔÚ¸ÅÒª¹ÜÀíµÄÖî¶àÓãУ¬ÕËû§æý³ÆÞ÷®ÊÇ
                                            ²éÑ¯ÖØÐ´¹¦ÄÜ¡£ÕâÊÇÒ»ÏîÓżõ¬×ª¸ù¾Ý±íºÍ
                                            À´±àеÄÓû§²éѯ£¬¶øÊÌåͼ־ðÈ¡ýÝá¸ßËÙ
                                            ¶È¡£ÓÉÚ                                                                                                                     Oracle9i ·þÎñÆ÷¿ÉÒÔ×¶¯ÖØÐ´ÈºÏ浀                                                                                                                         SQL ӦóÌ
                                                                                    ÐòÒÔʹÓõÌ廯ͼ£¬´Ëü¶ÚÖէǸ÷ÄÎÞè                                                                                                                                                                                                                                              SQL
                                                                                    ӦóÌÐòµÄ¸ÉÔ¤»áʾ¡£ËäȱÎÖùÒý¶¼Ç                                                                                                                                                                                                                                               SQL
SELECT ×Ӿ䣬µ«²éÑ¯ÖØÐ´ÈÔ½ÒÀÚ°üº                                                                                                                                                                                                                                                                   SELECT ×Ó¾äµÄ
INSERT ºÍ                                                                                                                                                                       CREATE TABLE Óï¾ä¡£
²éÑ¯ÖØÐ´¿ÉÒÔÓÃÚ¸÷¡£Çëע⬶ÎÈÏóùµÄ¹
ϵÎÞÐèÇ¿ÖÆ´£¬«¼ÙÉËüÃÊտġÈç¹ûù÷ØÓë±íý¾Ý
ÖдæÔÚµÄʼ¹ØÏ²»Æ¥Å䣬ÇñéѯÓÎÌâ
ÉùÃ÷À´ÖØÐ²éѯʱ£¬ºÜ¿Ä»áúíÎó½¹û¡ýͨ
¹ý¶¨ÒåØÏµºÍÊÓÃÔ¼øÌõþ±ã³È·£¾ÝÄÕЬËùÉú
µÄ±¨¸æ½«ÊÇ¿ÉÐÅ£¬ÆäÖ°üºÕýÈ·á¹û¡ÏÁËͳêÔ
ºó£¬                                                                                                                                                          ¿É ÒÔ   ½ö Ͷ              Èë ×î             С µÄ Ŭ Á¦ºÍ¿ª                     Ïú¾Í              »ñµÃ            ¿ìËÙ               ¡¢ ×¼ È·µÄ²é                         ѯ½á                      ¹û ¡£
²éѯµÄ׳ɻÔÙÐèÒªÓëÊÌåͼ¶¨¾«È·Æ¥Å䣬òÎÕâÇó
DBA Ê ÏÈ                                                                                                                                                                Öª µÀ              Ó¦ ¸Ã             Õë ¶Ô          Êý ¾ÝÖ´Ð                 ÄЩ               ²éѯ            ¡£µ±            È»Õâ            ÊDz»¿É                         Äܵ                £¬
ÓÈÆä¶ÔÊý¾Ý²Ö¿â¸üÇç´Ë£¬ÒòΪڹ«µÄ÷ºÃ¦®
Ò»¾ÍÊÇÁ¢¼´ÖеIJéѯ¡£òˬ¹ÓÃÌå½ö¿Éú×ã
²éѯµÄÒ»¿·Ö£¬ØÐ´¹ÊÇá¢Éú¡




                                                                                                                                                                                                                                                                                               Oracle9i ʵÌ廯ÊÓͼ                                           µÚ   13 Ò³
/½ûÓòéÑ¯ÖØÐ´
                                       µ±ÉèÖÃÁËÏÂвÎÊý£¬éѯش½«·¢úº
ALTER SESSION SET QUERY_REWRITE_ENABLED = TRUE

»ò
ALTER SYSTEM SET QUERY_REWRITE_ENABLED = TRUE

»òµ±¶¨ÒåʵÌ廯ÊÓͼʱ£¬Í¨¹ý°üÀ¨×Ó¾ä QUERY
                                 ENABLE
REWRITE ÒÔʹÆä·ûºÏ²éÑ¯ÖØÐ´Ìõ¼þ¡£
ÓÐʱ¿ÉÄÜèÒª½ûòéÑ¯ÖØ´£¬ÕâÔͨ¹ý«ÏæµÎ¸
FALSE À´ÊµÏÖ£¬Ò²¿ÉÔÚ»¸ö¾ßÌå¯Óͼ¹Ã                                                                                                                                                                        DISABLE
QUERY REWRITE ×Ó¾äÀ´ÊµÏÖ¡£


²éÑ¯ÖØÐ´µÄÀà Í
Oracle9i ÖÐ¿É                                                                                             ÒÔÓÐ   ¸÷Ö     ²é Ñ¯ÖØÐ´      ÀàÐÍ          £¬ ÏÂÃæ      µÄÀý           ×Ó½é          ÉÜÁËʹ            ÓÃͼ                5
ÖеÄÊÌ廯Óͼ¿ÉÒÔÏ©¹¦Ü¡£
                                                                      ͼ   5 ʵÌ廯 Óͼ à ڲéÑ¯ÖØÐ´Ê¾Àý
CREATE MATERIALIZED VIEW all_cust_sales_mv
BUILD IMMEDIATE
REFRESH COMPLETE
ENABLE QUERY REWRITE
AS
SELECT   c.cust_id,
         p.prod_id,
         sum(s.amount_sold) AS dollars,
         sum(s.quantity_sold) as quantity
FROM sales s , customers c, products p
WHERE c.cust_id = s.cust_id
AND s.prod_id = p.prod_id
GROUP BY c.cust_id, p.prod_id;


ÍêȫƥÅä

  µ±ÊÌ廯Óͼ¶¨Òë²éÑêȫƥÅ䣬½á·¢Éú×îòÄ
¯Ñ ØÖ ²Ò£¡´Ð                                                            ÇÊ; ¬£µË                                      FROM ×Ó¾ä               ÖÐµÄ        ±í ¡¢   WHERE ×Ó¾äÖÐ                            µÄÁª                  ½Ó
                                       ºÍ                          GROUP BY ×Ó¾äÖеĹؼüÔÚ²éѯºÍÊÌå»®êȫƥ
                                          Åä¡£ÀýÈ笸ø³öÏÂÃæµÄ²éѯº
SELECT  c.cust_id,
        sum(s.quantity_sold) as quantity
FROM sales s , customers c, products p
WHERE c.cust_id = s.cust_id
AND s.prod_id = p.prod_id
GROUP BY c.cust_id, p.prod_id;

Oracle9i ÖØÐ´Ë²éѯÒÔʹÓà                                                                                                             all_cust_sales_mv




                                                                                                                                                                          Oracle9i ʵÌ廯ÊÓͼ                            µÚ   14 Ò³
ÓÐʱºò²éѯ¿ÉÄÜ»áμ³ÒÁ£¬¸Ã´æ¢ÔÚŪíÖµ«Ç
¿ÉÒÔͨ                                     ¹ý½«   ʵÌå   »¯ÊÓ    ͼÁª           ½Ó·µ»Ø                      µ½ºÏ                   浀                  ά±í                   À´ÖØ     лñµÃ         ¡£ Àý      Èç £¬
ÔÚÇ°Ãæ                                     µÄÀý   ×ÓÖÐ   £¬¼Ù    É豨           ¸æ²»ÊÇ                      ¸ù¾Ý                   Óû§                        ID£¬¶ø                 ÊÇ Ê¹Óà             »§Ãû       ¡£
SELECT  c.cust_last_name,
        sum(s.quantity_sold) as quantity
FROM sales s , customers c, products p
WHERE c.cust_id = s.cust_id
AND s.prod_id = p.prod_id
GROUP BY c.cust_last_name, p.prod_id;

                       ´Ë´Î²éѯ²Î¿¼    c.cust_last_name ÁУ¬¸Ã²»ÔÚʵÌå¯Óͼ
                       all_cust_sales_mv ÖУ¬µ«        c.cust_last_name ÔÚ¹¦ÄÜÉÏÈ¡¾öÓ
c.cust_id£¬ Õâ ÊÇÓÉ                       ËüÃÇ  Ö®¼ä   µÄ²ã´Î                   ¹ØÏµ      ¾ö¶¨ µÄ¡£      Õâ Òâ ζ×ű¾ ´Î²é ѯ
¿ÉÒÔͨ                        ¹ý  all_cust_sales_mv À´ÖØ                   д£¬      ÒòΪ           all_cust_sales_mv ªÁ»±
       ½Ó·µ»Ø¿Í§±íÒÔñà                               c.cust_last_name ÁС£


¸ÅÒª»ã×Ü ò¾ÛºÏËùÓÐ

µ±²éѯÔÚijһã´ÎÖÐÇëó¾ÛºÏ£¨Èç                                                                                              SUM £¨ÏúÊÛ©¬¸Ã¾ºµÄ
¼¶±ðȾۺÏÔÚʵÌ廯ÓÍÖдæ¢Ä¸üߣ¬¿ÉÒ¨¹ýÃ
Ì廯ÊÓ                                     ͼ £¬ ÒÔ ¼°   ½« ¸Ã   ¾Û ºÏ »ã×ܵ½                        ËùÐè                   ¼¶±ð                 ´Ó¶ø                   ¶Ô¸Ã           ²éѯ½ø    ÐÖØ              д ¡£
ÀýÈ磬ÎÒÃǵÄÊÌ廯Óͼ                                                                       all_cust_sales_mv ÊÇÔÚ¿Í»§¼¶±ðÉÏ×éÖ¯
Êý¾ÝµÄ£¬«ÎÒÃÇ¿ÉܸüÏÍûÔÚ״̼¶±ð½öÓ»§À¨æ¡
ÎÒÃÇѾ-´½¨Á˿ͻ§¬£üèÊöºøÓòÖ®¼äµÄ¹ØÏ¡
ÏÂÃæµÄ²éѯ¿ÉÒÔʹÓÎÇÌå»Í¼                                                                                                                         all_cust_sales_mv À´²úÉ
±¨¸æ£¬½«Ä³Ò»¿Í§µËùÓÐÊý¾Ý¶¼ÛºÏÆðÀ´²¢ã×ÜÌ¡
SELECT  c.cust_state_province,
        sum(s.quantity_sold) as quantity
FROM sales s , customers c, products p
WHERE c.cust_id = s.cust_id
AND s.prod_id = p.prod_id
GROUP BY c.cust_state_province;


Êý¾Ý×Ó¼¯

Æù½ñΪֹ£¬ÒÃÇѾ-¿´µÄËÓÐÊÌ廯ͼ°üºÁÈ«²ýÝ
µ«ÕâÈÔ                                     »áµ¼   ÖÂÒ»   ¸ö·Ç    ³£ÅÓ           ´óµÄÊ                       Ì廯                   ÊÓͼ                 ¡£ Oracle9i ÔÊÐí¶¨   Òå» ¸ö
ʵÌ廯
     ÊÓͼ  £¬ Ëü½ö °üº¬      ͼ                                                          6 ÖÐËù                    ʾµÄ                   ²¿·Ö            Êý¾Ý £¬ ¼´ Dublin, Galway,
Hamburg ºÍ Istanbul µÄÊý¾Ý¡£




                                                                                                                                                                 Oracle9i ʵÌ廯ÊÓͼ                       µÚ    15 Ò³
6 °üº¬Êý¾Ý×Ó¼¯µÄÊ Ìå» Óͼ
CREATE MATERIALIZED VIEW some_cust_sales_mv
BUILD IMMEDIATE
REFRESH COMPLETE
ENABLE QUERY REWRITE
AS
SELECT   c.cust_id,
         p.prod_id,
         sum(s.amount_sold) AS dollars,
         sum(s.quantity_sold) as quantity
FROM sales s , customers c, products p
WHERE c.cust_id = s.cust_id
AND s.prod_id = p.prod_id
AND c.cust_state_province IN
         ('Dublin','Galway','Hamburg','Istanbul')
GROUP BY c.cust_id, p.prod_id;

ÏÖÔÚ¸ÃʵÌ廯ÊÓͼ¿ÉÒÔÓÃÓÚÂú×ã°üº¬·¶Î§µÄ²éѯ£¬
ÀýÈçÏÂÃæËùʾµÄ                                                                                                                   IN ºÍ                                      BETWEEN ×Ӿ䡣
SELECT   c.cust_state_province,
         sum(s.quantity_sold) as quantity
FROM sales s , customers c, products p
WHERE c.cust_id = s.cust_id
AND s.prod_id = p.prod_id
AND c.cust_state_province IN ('Dublin','Galway')
GROUP BY c.cust_state_province;



²éÑ¯ÖØÐ´ÍêÕû Ô·½Ê
¸ÅÒª¹ÜÀí½«¾¡Á¦Ê¶±ð²»ÖµÄÌå¯Óͼ¢´òÉÏàêÇ£¬
ΪÁË¿·þÕâЩÎÊÌ⣬¿ÉÒÔͨ¹ý²
          QUERY_REWRITE_INTEGRITY À´Ñ¡ÔñÈýÖÍêÕûм¶±ð£
•                                                                                         STALE_TOLERATED
•                                                                                         TRUSTED
•                                                                                         ENFORCED (default)
ÔÚ                                                                               STALE_TOLERATED ·½ÊÖÐ                        ½«Ê¼                                                                    ÖÕʹ                     ÓÃÒ»                   ¸öʵ              Ì廯ÊÓ       ͼ£¬           ¼´
ʹËüÒÑ                                                                              ¾-ʧ      Ч ¡£ ÔÚ TRUSTED ½· ¬£ÐÖ½Ê                                                                                           ¯»ÅÓ                        òÐ̳ ÅÐàÏ    µÊ åÌ ¯» ÓÊ ¼Í
ÖеÄÊý                                                                                   ¾ÝÊÇ   ×îР µÄ £¬ ÔÚ Î¬ ¶ÈÖÐÉù Ã÷µÄ                                                                  ¹ØÏµ                       ºÍ                    RELY Ô¼ÊøÌõ       ¼þÊÇ  Õý
                                           È·µÄ¡£ÔÚÕâÒ»½ÊÖЬÓů³Ìò¹«Ã¤Ï¨Á¢åͼ
                                           »òùÓÚ                                                             ÊÓͼ   µÄÊ   Ì廯                                       ÊÓͼ   £¬ ²¢ ʹÓà   뫅                 ÐºÍ                      ÒѾ-                   µÃ µ½Ö´Ð              µÄ¹Ø ϵ ¡£
                                           ÔÚÕâÖ·½ÊУ¬ÓÅ»¯³Ìò¹¡°ÈαÒѾ-ÉùÃ÷µ«´                                                                                                                                                                                                   ENABLED
                                           VALIDATED µÄÖ÷                                                                          /Ψһ¹Ø¼ü×ÖÔÊøÌõþºÍýά¶È¸Ã÷µÄ¾Ý
                                           ¹ØÏµ¡£




                                                                                                                                                                                                                                             Oracle9i ʵÌ廯ÊÓͼ                            µÚ   16 Ò³
ENFORCED ·½ÊÇĬÈÏ£ÔÚÕâÖÐÓÅ»¯³Ìò«¹
ÓÃÈ·ÖªÆä°üº¬×îÐÂÊý¾ÝµÄÌ廯ͼ£ÒÔ¹ùÚ
ENABLED VALIDATED Ö÷                                                                                                                /Ψһ                 /Íⲿ¹Ø¼ü×ÖÔÊøÌõþµÄÏ¡£
Òò´ËÄú½«·¢ÏÖ£¬Èç¹û»Ð©Ô¼ÊøÌõþÉΧÇÃÓ¸¨µ
²éÑ¯ÖØÐ´½«»á·¢Éú¡£µÈç¹ûÊÓÃÄÇÔ¼øÏ                                                                                                                                                                                                                                                                             TRUSTED
»ò                                       STALE_TOLERATED ģʽ¬ÕâЩ²éÑ¯ÖØ´Ôò»á·¢Éú¡


½á¹ûÊÇ·ñÕýÈ
µ±                                       SQL ²éѯ                                     ʹÓà          ʵÌå          »¯ ÊÓͼ¶ø                       ·ÇÕæ                                           浀                         Êý¾Ý                           Դʱ£¬                                  ÓÐʱºò              »á³ö                               ÏÖ
·µ»Ø½á¹û²Í¬ÄÇé¿ö¡£
1.                                       ʵÌ廯                                ÊÓͼ          ¿ÉÄÜ          ÓëÏê           ϸÊý           ¾Ý²»Í¬                                 ²½¡£ ·¢Éú ÕâÖ Çé¿ö µÄ Ô-Òòͨ                                                                                                                                          ³£
                                         ÊÇˢйý³ÌÒÆð£¬Í±Ñ¡ÔñÁ                                                                                                                STALE_TOLERATED ÍêÕûÐÔ
                                         ·½Ê¡£
2.                                       Áª½ÓÐ                                 ¿ÉÄÜ          Ó°Ïì          ²Î¿¼           µÄÍê           ÕûÐÔ¡£                                           ÔÚÕâ                         ÖÇé                           ¿öÏ                               £¬ Ò» Щ ×Ó¶ËµÄ                                     Ð
                                         ûÓÐÕý                                È·»ã          ×ܵ½          ¸¶Ë            µÄÐ            ¡£ Ϊ           ÁË ±Ü                                         Ãâ ·¢                        Éú Õâ                                   Ö Çé             ¿ö £¬ ÇëʹÓà                                   ϵ
                                         Í³Ç¿ÖÆ                                Ö´Ð           µÄÍê          ÕûÐÔ           £¬ Õâ Ñù¿ªÏú                                             ÊÇ΢                         ²»×ã                           µÀÄ                                    £¬ ¶ø »ñÀûÈ´                                  ºÜ ÏÔ
                                         Öø¡£
µ±ÊÌ廯Óͼ°üº¬Á˲ÔÙÎÚÏêÇéý¾ÝÖÐÄÅ¢£¿ÉÒ´
½¨Ò»¸ö                                                                   rolling materialized view¡£ÀýÈç¬ÊµÌ廯Óͼ¿ÉÄܰüº                                                                                                                                                                                                18
¸öÔ嵀                                                            Êý¾Ý       £¬ µ« ÏêÇé ±íÖÐ ½ö°üº¬                       ×î½ü                                                                         6 ÂÔö¸                           £¡Äµ                                   Ë´òÒ                          ¬£ çÈ û¹ é² ¯Ñ
½«ÔÚ»ù±íÖжø²ÊǵÌå¯Óͼ£¬ÄôϾá¹û¡


½âÊÍÖØÐ´
µ±Ê¹ÓòéÑ¯ÖØÐ´£¬Î×îÆ·ÄÌâÇ¡°Ë»áÂð¿
»ò¡°ÎªÊ²Ã´ËéÑ¯ÖØÐ£¿±                 Oracle9i ͨ¹ý
DBMS_MVIEW.EXPLAIN_REWRITE ¹ý³Ì¸øöÁËÕâÒ»ÎʵĽ
¾ö°ì·¨ £¬ ͼ 7 ÖÐ ÏÔ Ê¾ ÁË Ò» ¸öʹÓà    ·¶Àý ¡£ Òò ´Ë£¬                                                                                                                                                                                                              ¿ÉÒÔ                  ÔÚ²éѯ                 ÔËÐ                            Ö®
ǰÁ˽â¸ÃÐÅÏ¢¡£
²éѯÎı¾×÷ªÒ»¸ö³¤Ö·û´®«µÝ£¬Ã¹ýÌæ¢ÆäÔÚí
REWRITE_TABLE ÖÐ ÕÒ                                                                                                     µ½ µÄ½á¹û                        £¬ ±Ø Ðë²é                                       ѯ¸Ã ±í²Å Äܲ鿴      ¹ý³Ì                                                                                                                  µÄ
½á¹û¡£ÔÚÏÂÃæµÄÀý×ÓÖЬÎÒÇ«¿´                                                                                                                                                                            some_cust_sales_mv ÓÃÚ´Ë
´Î²éѯ¡£




                                                                                                                                                                                                                                      Oracle9i ʵÌ廯ÊÓͼ                                                                      µÚ    17 Ò³
7 ½âÊÍÖØÐ´ ¾Àý
                                        DECLARE
                                        querytxt VARCHAR2(1500) := 'SELECT c.cust_id,
                                                 sum(s.amount_sold) AS dollars, p.prod_id,
                                                 sum(s.quantity_sold) as quantity
                                                 FROM sales s , customers c, products p
                                                 WHERE c.cust_id = s.cust_id
                                                 AND s.prod_id = p.prod_id
                                                 AND c.cust_state_province IN
                                                 (''Dublin'',''Galway'',''Hamburg'',
                                                 ''Istanbul'')
                                                 GROUP BY c.cust_id, p.prod_id';
                                        BEGIN
                                        dbms_mview.Explain_Rewrite(querytxt, NULL, 'ID1');
                                        END;
                                        /
                                        SELECT message FROM rewrite_table;


                                        MESSAGE
                                        ------------------------------------------------------
                                        QSM-01009:materialized view, SOME_CUST_SALES_MV, matched
                                        query text
                                        QSM-01033:query rewritten with materialized view,
                                        SOME_CUST_SALES_MV




                                        SUMMARY ADVISOR

                                        µ±Ê״ξö¶¨¹ÓÃÌ廯ͼ£¬ØÐëÒ¸³õ¡Ä¿Ç°Õâ
                                        ¶Ô                                    DBA ¶øÑÔÊÇÒ»¸ö¾Þ´óµÄÌôÕ½£¬ÓÈÆä±ËûÃÉÎñ²¢·Í³¹
                                        Àí½â£¬»òÕßӦóÌÐáöµÄ²éѯ¸ù±¾¿ÉԤʡ
                                        ΪÁ衕                                                        Öú½â                  ¾ö´Ë   ÎÊÌâ   £¬ ¸Å Òª¹ÜÀí     °üº¬     ÁËÒ»                  ¸ö³Æ              Ϊ        Summary Advisor
                                        µÄ×é¼þ£¬¿ÉÒÔͨ¹ý÷Óó̻ò´                                                                                                  Oracle ÆóÒµ¹ÜÀí÷ÖÐÓø×é
                                        ¼þ¡£                                          Summary Advisor ÌṩÏÂÁÐÅ¢£º
                                        •
                                        •
                                        •
                                        •
                                        •
                                        •
                                        ÔÚʹÓà                                                                 Summary Advisor ֮ǰ                      £¬ DBA Ó¦¸Ã                             ÔËÐ              DBMS_STATS ¹ý
³Ì£¬ÒÔÊÕ¼¯ý¾Ý¿âÖбíºÍµå»ÓÄùÅÏ¢¡¸Ã½«×÷
Ô¤²â½ø³ÌµÄÒ»¿·Ö¡£
                                        Ìṩ¸ºÔØ
                                        ËäÈ»                                                  Summary Advisor ÎÞÐè¸ºÔØ¾ÍÄܹ»Æ¼öʵÌå¯Ó£¬«



                                                                                                                                                                                                       Oracle9i ʵÌ廯ÊÓͼ     µÚ   18 Ò³
Oracle9i ÖпÉÒÔÓÃÏÂæµÄÎʽÀ´Ìṩ£º
•                                                                           (DBMS_OLAP.LOAD_WORKLOAD_USER)
                                            •   SQL »º´æµÄ±Ç°ÚÈÝ
                                                (DBMS_OLAP.LOAD_WORKLOAD_CACHE)
                                            •   Oracle Trace ÊÕ¼¯µÄ²éÑ
                                                (DBMS_OLAP.LOAD_WORKLOAD_TRACE)
Óû§¶¨ÒåµÄ¸ºÔذüÀ½«²éѯ´æ¢ÚÊý¾Ý¿â±íÖС£Èó                                                                                                                                    Summary
Advisor ¶ÁÈ¡¸Ã²éѯ£¬½«Æä×÷ΪԼºµÄØ
ÁíÒ»·½Ã棬SQL »º´æÖеıǰ²éѯ¿ÉÒÔ×÷Ϊ¸Ø£¬ÊäÈë½
Summary Advisor ÖС£
Èç¹û¿ÉÒÔÊÓà      Oracle Trace£¬ÄÇô½«Ìṩһ¸ö³ÆÎª                                                                                                                     Summary
Workload ĵ ÂÊ þ¼ ¯¼ £¡ ÃÓôƱµ                    ¬£±Ê                                                                   «½üË    ¯¼ÕÊ    ØÔº¸           ÅÐÆ¼³Í          ¬£¢Ï ¨Àü°           é²
Ñ¯ÖØÐ´Ê¹ÓõÄÌå»Í¼û³Æ¡¢¨ý¶øñÔ¤
¼Æ¡°ºÃ´¦±£¬ÒÔ¿ÉÄÜѾ-ʹӵÀíÏ뻯ÌåÍ
ËäȻҴνö¿ÉÔʹÓÃÏأ¬ëµÍƼý³Ì
RECOMMEND_MVIEW_STRATEGY£¬µ«»¹ÊÇ¿ÉÒÔÚý¾ÝâÖдæ
´¢¶à¸öºÔØ£¬È»ó½øÐ±ÏÕҳĿɲú×î¼ÑÍÆ¡


ÍÆ¼öʵÌ廯 Óͼ
¶Ô´½¨ÄЩʵÌ廯Óͼ½øÐÆö¿ÉÒÔ¨¹ýÁÖ·À´ê³£¬
ÊǹÓà                                                     Oracle ÆóÒµ¹ÜÀí÷ÖÐÄ                                            Summary Advisor£¬Ëü½«´øÁìÖð²
Íê³ÉƼöʵÌ廯ÓÄÕû¸¹ý²¢ÏÖ¡£
ÁíÒ»Ö·½¨Êǵ÷Óùý³Ì                                                              RECOMMEND_MVIEW_STRATEGY À´
Éú³ÍƼö¡£                                                             Summary Advisor ½«²»¿¼ÂÇËùÑ¡ÔñµÄ·¨£¬¶øÊÍÆö
¾¿¹ÊÇɳý»Î¬ÖÏÓеÌå¯Í¼£ÒÔ°Ú誱´½¨Ä©
Ì廯ÊÓͼ¡£
»¹¿ÉÒÔÊÓà                                                             DBMS_OLAP.GENERATE_MVIEW_REPORT ¹ý³Ì
À´²úɿѡ±¨¸æ£¬Ã¹ý³Ìá©ÁË                                                            advisor µÄÍÆ¼ö¡¢ÊÌ廯ӹ
ÓúÍËù¿¼ÂDzéѯµÄйØÅÏ¢¡£
ʵÏÖÍÆ¼ö

ʹÓà                                               Summary Advisor Ïòµ¼ÄÖî¶àºÃ´¦®Ò»ÊÇËü½«×Ô¯ÍÆ
¼ö¡£Èç¹ûÊÓÃÁË
DBMS_OLAP.RECOMMEND_MVIEW_STRATEGY ¹ý³Ì                                                                                                                                     £¬ Ëü ½«²ú
ÉúһϵÁÐÍÆ¼ö´æ¢ÔÚÊý¾Ý¿âÖ¡£Èºó÷ÓÃ
DBMS_OLAP.GENERATE_MVIEW_SCRIPT ¹ý³ÌÀ´½¨Ò»¸ö
SQL Îļþ£¬ÆäÖаüºÊµÏÕâ©ÍöËùèÓᄀ




                                                                                                                                                Oracle9i ʵÌ廯ÊÓͼ              µÚ      19 Ò³
ÎÞÐë¶ÔÕû¸öºØ½ø¿¼ÂÇ£¬ÉÒʹÓÃ
DBMS_OLAP.ADD_FILTER_ITEM äÆÔ¶                                                                                                                                                                             Ð ø½                          ËÂý¹                  £¡ ý¹ Ë ÷Æ É¿ ÔÒ ËÔ
ÓÃÚ¦³ÌÐòû¡¢²éѯÖËùʹµÄ±í»ýÆÂ
ÉÏ´ÎʹÓòéѯµÄÈÕÆÚ¡¢±íôÖ÷ż¶ì¦ä»ò
¸ú×ÙÊÕ¼¯Ãû¡£È»ºó¿ÉÒÔ½«âЩ¹ýÂËÆ÷ÖµÄöò¶àÓÚ
ÍÆ¼öʵÌ廯ÓĸºÔØÖС£


¹À¼ÆÊµÌ廯 ÓͼµÄ´óС
DBA µÄ Áí                                                                        Ò» ÓÐ          Àû ÓÅ          ÊÆ ÊÇ            £¬ Ëû¿ÉÒÔ                         ÔÚ´                 ½¨Êµ                        Ì廯                          ÊÓͼ             ֮ǰ¹À          ¼Æä           ´ó
С£Í¨¹ý½«²éѯ×÷Ϊһ¸öÊäÈëµ
DBMS_OLAP.ESTIMATE_MVIEW_SIZE ÖУ¬Äܹ»Ô¤²âʵÌå¯Ó
ͼÖеÄÊý¿ºÆäÉܴ󡣬Èç    9 Ëùʾ£º


ͼ                                             9 ¹À¼ÆÊµÌ廯 ÓͼµÄ´óС
DECLARE
no_of_rows NUMBER;
mv_size NUMBER;
BEGIN
dbms_olap.estimate_summary_size ('MV 1',
        'SELECT c.cust_id, sum(s.amount_sold) AS
                 dollars,p.prod_id, sum(s.quantity_sold)
                 as quantity
        FROM sales s , customers c, products p
        WHERE c.cust_id = s.cust_id
        AND s.prod_id = p.prod_id
        GROUP BY c.cust_id, p.prod_id' ,
        no_of_rows, mv_size );
DBMS_OUTPUT.put_line ( '');
DBMS_OUTPUT.put_line ( 'No of Rows:' || no_of_rows );
DBMS_OUTPUT.put_line ( 'Size of Materialized view (bytes):
' ||
mv_size ); END;

No of Rows: 245504
Size of Materialized view (bytes): 21604352



½áÂÛ

¶ÔÓÚÆÍûÌá¸ßÊý¾Ý²Ö¿â»òéѯÐÄܵÈËÀ´£¬ç¹ÃÇ
¹»Ô¤ÏȼÆËãÒЩ²éѯµÄ½á¹û£¬Çô¾ÍÓ¦¸º¿¼ÂÒ»ÏÊÖÌå
»¯ÊÓͼ                                                                  ¡£ ´½¨           ʵÌå           »¯ÊÓ             ͼËù               ÐèÒªµÄ                      ¹¤×÷                 Á¿·Ç                        ³£ÉÙ                          £¬ Summary Advisor
½«ÏòÄú¨Òé´Ð©ÊÓͼ£¬ÉõÖÁ»¹ÌáÆöµÅ±¾¡
Á¢ÆðʵÌ廯Óͼ£¬ËüÂÉϽ«¿ÒÔ×Τ¡ÖնçڲÐèª
¸üÄÈÎ                                                                   ºÎ       SQL ëÂú´                       ö¿éÇĵ                               ÂÏ ¬£ ɿ;                ´¿ÔÒ                 é²½µ                          ìÏ¯Ñ                  ±Ê¦Ó              ä¼ ÐÓ ËÁ ÔÏ øÖ
µÄ¸ÉÆ¡£




                                                                                                                                                                                                                                Oracle9i ʵÌ廯ÊÓͼ                                    µÚ   20 Ò³
Oracle9i ʵÌ廯ÊÓͼ
2001Äê 5ÔÂ
×÷Õߣº   Dr. Lilian Hobbs
Ð-×÷Õߣº



Oracle Corporation
È«Çò×ܲ¿
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.



È«Çò×ÉÑ¯È Ïߣº
µç»°£º         +1.650.506.7000
´«Õ棺         +1.650.506.7200
www.oracle.com



Oracle ¹«Ë¾Ìṩ¸ÃÈí¼þ
that powers the internet.



Oracle ÊÇ                                Oracle Corporation µÄ×¢²áÉ̱ꡣ
±¾ÎÄÖÐÌá¼°µÄ¸÷Ö ²úÆ·ºÍ þÎñµÄÃû³Æ¿ÉÄÜÊÇ
Oracle Corporation µÄÉ̱ꡣÆäËü ùÓÐÌá¼°
µÄ²úÆ·ºÍ þÎñÃû³Æ¿ÉÄÜÊǸ÷×ÔËùÓÐÕßµÄÉ̱ꡣ



°æÈ¨ËùÓÐ             © 2000 Oracle ¹«Ë¾
±£ÁôËùÓÐȨÀû¡£




                                                                           Oracle9i ʵÌ廯ÊÓͼ   µÚ   21 Ò³

O9i Mv[1]

  • 1.
    Oracle9i ʵÌ廯Óͼ Oracle °×ƤÊé 2001 Äê 5 ÔÂ
  • 2.
    Oracle9i ʵÌ廯Óͼ ִиŠҪ ............................................................................................................. 3 ¼ò½é ...................................................................................................................... 3 ΪºÊ¹ ÓøŠҪ¹Ü Àí .......................................................................................... 4 ¸ÅÒª¹Ü Àí×é ¼þ .................................................................................................... 4 ģʽÐè Çó ......................................................................................5 ά¶È ...................................................................................................................... 5 ¶¨Òåά ¶ÈµÄ Ïà¹Ø Ìáʾ ..................................................................6 ʵÌ廯 ÊÓͼ ........................................................................................................ 7 ´½¨Êµ Ì廯 ÊÓͼ ..........................................................................8 ʹÓÃ×Ô ¼ºÔ¤ ÏȽ¨ Á¢µÄ ʵÌå »¯ÊÓͼ ..............................................9 ʵÌ廯 ÊÓͼ µÄË÷ ÒýÑ¡ Ôñ ..............................................................9 ʵÌ廯 ÊÓͼ ¿ÉÒÔ Íê³É ÄЩ ¹¤×÷£¿ ..............................................9 ʵÌ廯 ÊÓͼ ʧР........................................................................10 °²È«º¬ Òå ....................................................................................10 ¼ÓÔØºÍ ˢРʵÌå »¯ÊÓ Í¼ ...............................................................................11 Íêȫˢ Р.................................................................................... 11 ¿ìËÙ¢ Р....................................................................................12 Ë¢ÐÂºÍ Ô¼Êø Ìõ¼þ ........................................................................12 Êý¾Ý¿É ÓÃÐÔ ................................................................................13 ·ÖÇøÎ¬ »¤²Ù ×÷ºÍ ʵÌå »¯ÊÓ Í¼ ....................................................13 ²éÑ¯ÖØ д ...........................................................................................................13 ÆôÓà /½ÃÓû ¯Ñé² ´ÐØÖ ...................................................................14 ²éÑ¯ÖØ дµÄ ÀàÐÍ ........................................................................14 Íêȫƥ Åä ............................................................................14 ¸ÅÒªÁ ½Ó·µ »Ø ....................................................................15 ¸ÅÒª»ã ×Ü»ò ¾ÛºÏ ËùÓÐ ........................................................15 Êý¾Ý×Ó ¼¯ ............................................................................15 ²éÑ¯ÖØ дÍê ÕûÐÔ ·½Ê ................................................................16 ½á¹ûÊÇ ·ñÕý È· ............................................................................17 ½âÊÍÖØ д ....................................................................................17 ¸ÅÒª¹Ë ÎÊ ...........................................................................................................18 Ìṩ¸º ÔØ ....................................................................................18 ÍÆ¼öʵ Ì廯 ÊÓͼ ........................................................................19 ʵÏÖÍÆ ¼ö ............................................................................19 ¹ýÂ˸º ÔØ ............................................................................20 ¹À¼ÆÊµ Ì廯 ÊÓͼ µÄ´ó С ............................................................20 ½áÂÛ ....................................................................................................................20 Oracle9i ʵÌ廯ÊÓͼ µÚ 2 Ò³
  • 3.
    Oracle9i ʵÌ廯Óͼ Ö´Ð ¸ÅÒª ñ½ ìÌ Äµ ýÊ ¬£â¿Ý¾ ÛÂÞΠݾýÊÇ Ö² â¿ ¢¡ ýÊ ÐÖݾ ¹»ÄÐ ÇÊ OLTP ϵͳ £¬ ¶¼ °üº¬´óÁ¿µÄÐÅÏ¢ÈýËÃÇ¥·ÖÍÀí½â¡£»¶øçÎÒԼʱ µÄ·½Ê²éÕҺͱí¾âЩÅϢǻ¸öÖØ´óÎÌ£¬ÓÈÆäèªËÑ Ë÷ÅÓ´óÊýÁ¿ÐÏ¢µÄ±ºò¡£ ʵÌ廯ÓͼÄܹ°ïÖú½â¾öոΣ¬ÒòªËüá©Á¿ìÙ·Ã ºÍ±¨¸æÊý¾ÝµÄ·½¡£ ¼ò½é ʵÌ廯Óͼ×ÏÈÔÚ Oracle8i ÖÐÒýÈ룬ÊdzÆÎª¡°¸Å¹ÜÀí±µÄ×é¼þ µÄÒ»²¿·Ö¡£ÉÜú¹«Ë¾Ñ-ÔÚÊÓÃÌå¯Í¼¬ªÀü ÆäËûÃ×Ö£¬ÀýÈç¸ÅÒª»ò¾ÛºÏ±í¡ÔÚÕâïÎÇÌ´½¨Í¹Ü ʵÌ廯 ÊÓͼ £¬ »¹ ÌÖÂÛ ²éѯ ÖØÐ´¹¦ ÄÜÈç ºÎ͸ Ã÷µØ ÖØÐ´ SQL ¯Ñé² ¬£ Ó´ ¶øÊ¹ÓõÌ廯ͼÀ´Ëõ²éÑÏ즱䡣Õ⽫ý¾Ý¿§êÈ ÎÞÐèÖªµÀ´æÔÚÄ©ÊÌ廯Óͼ¡£ ʵÌ廯Óͼ¦¿´×÷ÇÒÖØâÄ£¬ËüÎïÀíÉÏæÔÚý¾Ý ¿² ¬£ ÔÒÉ¿ ¨Àü° Ó½ªÁ ͺ /»ò¾Û ºÏ¡£ Ëü ÄÜ ¹» ÔÚ Ö´ Ð Ö® ǰ Ô¤ ÏȼÆËã ¿ªÏú ´ó µÄÁª½ÓºÍ¾ÛϲÙ×÷£¬Òò´ËüæÔÚõ¶ÌéѯÖÐʱ¼ä¡ ½ñÌ죬 ʹÓà ×ÔÉí ¸ÅÒª µÄ¹« ˾»¨·Ñ ÁË´ó Á¿µÄ ʱ¼ä ÓÃÚ ÊÖ¹¤´ ½¨¸Å Òª¡¢ ʶ±ð½«´¨ÄЩ¸ÅÒª¡¢ÔøË÷ýºÍü£¬¼°éÓû§¹ ÓÃÄЩ¸ÅÒª¡£ ÏÖÔÚ DBA ½«öÐëÔÚ¿ªÊ¼±´¨µÌ廯ÓÍ£¬¶øÎÞÂÛý¾Ýº ·¢Éú±ä»¯£¬Ëü¶¼½«×ԸС´Íâ¹ÓÒöŪÎÊéþ Ïò DBA ÍÆ¼ö´½¨¡¢É¾³ýº±£ÁôÄЩʵÌå»¯Ó Êý¾Ý²Ö¿â»òÓ罫ÉÒÔÌåáµ¹¯Í¼Ä×î´óº¦ Ö®Ò» £¬ DBA ÎÞ Ðë ÔÙ ¸æ Ëß Ëû ÃÇ´æÔÚ ÄЩ ʵÌå »¯ÊÓ Í¼ ¡£ ËûÃÇ¿É ÒÔ¶ Êý ¾Ý¿âÖÐ µÄ±í »òÊÓ Í¼±à д×Ô ¼ºµÄ²é ѯ¡£ È» ºó Oracle ·þ ÎñÆ÷µÄ ²éѯ ÖØ д»úÖÆ ½«×Ô ¶¯ÖØ Ð´ SQL ²éѯÒÔ Ê¹Óà ʵÌå »¯ÊÓ Í¼¡£ Õâ Ñù¾Í´ó ´óËõ ¶Ì Á˲éѯÏìӦʱ¼ä£¬Öնû§ÎÞÐë¡°½â¸ÅÒª Oracle9i ʵÌ廯ÊÓͼ µÚ 3 Ò³
  • 4.
    µ±ÏòÊý¾Ý²Ö¿âÕ¶ËÓû§ÎÆðûǣʹÐñ¬ó·È¼ »áش𣺿ìËÙ׼ȷµÄÐÅÏ¢¡«ÊÇÕâÒ²¸øý¾ÝÖÉèÆß³öÁó ÄÑÌ⣺ΪÁ˻شð¡°ÔÚ y µØãÎÒÃÇÂô³ö¶àÉÙ¼þ x ²úÆ·¡±£¬ÍÊÏ Íû±ÜÃâ¶ÁÈ¡íÖеĿһ£¬Øë½¨¢ÌõÊý¾ÝìËÙ·ÓÉ ½â¾ö´ËÎÊÌ×î³£¼ûµÄ°ì·¨Ö®Ò»ÍǸŪ±í¬ Oracle ½«Æä³Îª ʵÌ廯Óͼ¡£ÕâÒ¹¤×÷°üÀ¨ÏȪí½äиºÉ¬ó´æÄ ·Ç³£Ð¡ µÄÊ Ì廯 ÊÓͼ £¬ ʵ Ì廯ÊÓ Í¼ÖÐ ¿ÉÒÔ °üº¬ ËùÐè ÐÅÏ¢µÄ Áª½Ó ºÍ / »ò¾ÛºÏ¡£ÀýÈç¬ÎªÁËØ´ðÇ°ÃæµÄÊÌâå¯ÓͼÖп²úÆ·¶Ô ¦Ó ÚÓ ¬£Ð »Ò ÷Ã¸Ö ö¸¿Ã ĵòÓøÇ úÏ £¡¿ÁÛÊ Ë´òÒ û¹çÈ «¹Ò¼» ¾Ë ÚÔ 5 صö¸ µãÏúÊÛ 2000 ¼þ ²ú Æ· £¬ Ôò ½«Òª¶Á È¡µÄ ×î´ó ÐÊý ʼÖÕ Îª 10000£¬¶ø ÎÞ ÂÛÒѾ-ʳö¶àÉÙÌÆ·¡£ ºÜÃ÷ÏÔ£¬ÊµÌ廯Óͼ±ØÐëÖ¤¾«È·¸õÒâζ×ÅÕ˧ ÔÚÐèÒª¶ÁÈ¡µÄÊýºÜÉÙ£¬ò´Ë¿¼ÖÕìØ½Óá¹û¾Ýâ ÈÝÁ¿ÒѾ-Ôö³¤µ½Õ×ÖÚ£¬ò´ËʹÓÃâùÄ·¨Àõ¶Ì²é¯Ïì¦ Ê±¼ä¾ÍÏԵýÀ´ÖØÒª¡£ñÌìÐí¶àÕã¨ÁË׺ĸŬ Òò´ËʹÓà Oracle8 ¸ÅÒª¹ÜÀíËù´øµÄ¶îÍâºÃ¦ÊÇ£ • Oracle ÖÐµÄ ²éѯ ÖØÐ´ »úÖÆ ÊÇ͸Ã÷ µÄ²¢ ²ÉÓà ʵÌå »¯ÊÓ Í¼ £¨ ¼´ ʹËü½öÄܲ¿·ÖÂú×ãéѯµÐèÒª£©¡ • • ÊÓͼ¡£ • DBA ²»ÔÙÐèÒª¨Ê±¼äéÕÓ¦´½Ä©µÌå¯Í¡£Ï³ ½«»ùÓÚ ¹ýÈ¥ ¶ÔÊý ¾Ý¿â »òÊý ¾Ý²Ö¿â µÄ²é ѯ£¬ Ïò DBA ÌṩÓÐ ¹ØÐèҪĩ¸ÅµÏ¢¡£ ¸ÅÒª¹ÜÀí×é¼þ ×é³É¸ÅÒª¹ÜÀíµÄÓÐÎåö¼þ£º • • • • • ²¢»ÐèҪʹÓÃËù×é¼þ£¬µ«Ñ¡ÄÔ½¶àñÅÆ¾Í ¶à¡£ÏÖÔÚÎÒÃǽ«ê¸ÌÕâЩ×é¼þ Oracle9i ʵÌ廯ÊÓͼ µÚ 4 Ò³
  • 5.
    ÓÃÚʵÌ廯ͼģ½ÀàÐòÉèÆ²´ÏÞÖ¡ÒËÔý¾Ý ¿â»·¾³ÖУ¬ÄʽÉÒÔÇÑ©»¨Ê½µÄÉè¼Æ£¬«ÕⲢDZØÐë¡ ¶ÔÓÚÊìϤ²úÆ·µÍ³ÖÐý¾Ý¿âÉè¼õÄÕßÀ´Ë£¬Ò»¸ö ²Ö¿âбØëʹÓûͬµÄæÔòº¼õ¡£ÀýÈçúÆ·¾Ý¨³Ç ·¶»¯µÄ£¬Òò´ËÔÚÕâÖÇé¿öÏÂʱ¼äÎí¾½¨×îºÃ²ÉÓÈý¸ ±í£º ÈÕ¡¢ÔÂÄê ¡£Áª½ÓÌõ¼þ¦¸ÃÂú×㺫¿ö ÈÕÆÚ ÐÁ¬½ÓµÒ»¸ö £¨½öÒ»¸© ÔÂ·Ý Ð£¬Ã¿¸ö ÔÂ·Ý ÐÁ¬½ÓµÒ»¸ö£¨© Äê·Ý С£ Êý¾Ý²Ö¿âµÏͨ³£½«¼ÂÒ»¸öêÈ·Ç¹æ¶¯Ä Ê±¼ä ά±í£ÆäÖÐ ÈÕÆÚ¡¢Ô·ÝÄê À¸¶¼´¦ÓÚͬһö±íÖС£²¹ýÎÞÂÛÉèÆÊÃµÄ Êǹ淶»¯±í£¬¼¿ÉÒÔÓõÌåÍ¡ ά¶È ÔÚ´½¨ Ò»¸ö ʵÌå »¯ÊÓ Í¼Ö® ǰ£¬ µÚ Ò» ²½ Ó¦ ¸Ã ÊÇ »Ø ¹Ë Ä£ ʽ £¬ Ö¸ Ã÷ά ¶È¡£ ά¶È¨ ÒåÁË ÁÐÖ® ¼äµÄ ²ã´Î »¯ £¨ ¸ ¼¶ /×Ó ¼¶ £© ¹ØÏµ£¬ Ëù ÓеÄÁ ÎÞÐë À´ ×Ôͬһ¸ö±í¡£ÎÃÇ¿ÁƼ¶¨åÊý¾ÝµÄÈòªÕ⽫ÓÐÖúÚ²é Ñ¯ÖØÐ´ºÍ¸ÅÒª¹ËÎÊ×ö³ü¼¾²ß¡£ Êý¾Ý¿âÉè¼ÆÕßËùÃæÁÙµÄíÒ»¸öÎÌÇ£¬·±²éѯ½«áÖÓ° ËùÓеÄά¶ÈÁ£ø½ö²¿¼ëÏà¹ØÇÒ»Àýçéѯ ÐÇÆÚ¶þø²»Ê¾ßÌåÈÕ¡£Òò´Ëµ±¨Áά֮ºó¹ØëÃèö ¶ÈÁкͱíÖÆäËü®¼µÄ¹ØÏ¡£ ͼ 1 ¾ÊÔÏ ü°ËÁ ½Á¬º ã²ö¸ ĵδ ±Ê £¡¬Îä¼ »ÒÓ´ ¸Öö ÚÆÕȨ¶ ª¿ ¼Ê ¬£ ÐÓ »Ò ¸ö²ã´ÎæËßÒÃÇÈÕÆÚɼ°ÄЩþÖÜ¡¢Ô»ò꣬¶øÁí ¶¨ÒåÁËÈÕ¡¢Ô¼¾ºÍÄê֮䵹ØÏ£ µ±¶¨ÒåÁË»¸ö²ã´ÎÖ®ºó£¬¿ÉÔàÐÀÃèÊýÈç Èç¹û City ÔÚÿ¸ö State Ö®ÄÚÊÇΨһµ£¬«Ô States Ö®¼ä²»Î¨ Ò»£¬ÄÇô¾ÍÐèªÖ¸¶¨öµØÀí²ãÎÆäʽÈç £¨ Country, State, <State, City£©¬´Ó¶øÂú×ã City ¼¶µ½ State ¼¶Ö®äÑϸñµÄ 1:n ²ã ´Î¹ØÏµ¡£ ¿ÉÒÔʹÓÃÁ½Ö·¨À´Î¬¶È£º • SQL CREATE DIMENSION Óï¾ä£¬Èçͼ 2 Ëùʾ • Oracle ÆóÒµ¹ÜÀí÷ÖÐÄά¶ÈÏò¼ Oracle9i ʵÌ廯ÊÓͼ µÚ 5 Ò³
  • 6.
    1 ½éÉÜʱ¼äά °´Õͼ 1 ö³-» ¬£È¶ Î ÔÒÉ¿ °ïÖú DBA Íê³É¶¨Òå¹ý ³Ì¡£Ã¿¸öԲȦ´ú±íά¶ÖÐ µÄÒ»¸ö ¼¶±ð ¹ý LEVEL ×Ó¾äÀ´ÉùÃ÷¡£Î¬ ²ã´Îͨ ¹ý HERARCHY ×Ó¾äÀ´Éù Ã÷¡£¸ÅÒª¹ÜÀí²Í¬Ñùµ ÓÚ DBA ¶¨ÒåÔ¼ÊøÌõþ£¬ ±£Ö¤²ã´Î¼¶ðÐÿһ µÄÁзǿա£ ÔÚͼ 2 ¬£ÐÖ ÇÃÒÎ ÔÒÉ¿ ½µ´¿ ´½¨¸Ãά¶ÈµÄ SQL Óï ¾ä¡£¼¶±ðÃû³ÆÔÓ¦Úάí ÖеÄÁ¡£È»ºóʹÓÃÕ⩼¶ ±ðÃû³ÆÀ´èÊö¿Ò»²ãΡ£ ×îºó £¬ ʹ Óà ATTRIBUTE ×Ó¾äÀ´¶¨ÒåßÐÖ±½¹ØÏµ µÄÏî¿ ¡£Òò ´ËÊô ÐÔ calendar_month_name ¶¼ëÓ ð± month ÐÓ £¡µÏع ʹÓà JOIN KEY ×Ó¾äÀ´ÉùÃ÷ά¶ÈÖÐµÄ 1:n Áª½Ó¹ØÏµ¡£ÔÚÊÂ±í ºÍά±íÖ®¼ä£Ê¹ÓõÐÄ FOREIGN KEY ºÍ NOT NULL Ô¼ÊøÌõþÀ´±í¾ÕâÖÁª½Ó¹ØÏµ¡£ ¶¨Òåά ȵÄÏà¹ØÌáʾ Ϊ°ïÖú´½¨¬¶È£ÇëÕÏÂÃæµÄ¼ò¥²èº 1. Ö¸Ã÷Ä£ ʽÖÐ µÄËù ÓÐά ¶ÈºÍ ά±í¡£ Èç¹û ά¶È ÊÇ¹æ ·¶»¯ ¼´ Ëü ´æ µÄ£¬ ´¢ÔÚ¶à ¸ö±í ÖУ¬ ÄÇô Çë¼ì ²éά±í Ö®¼ä µÄÁª ½Ó£¬ È·±£ ÿ¸ö×Ó ¼¶ Ð Áª½Óµ Ò»¸ö £¨ ½ö Ò» ¸ö £© ¸ ¼¶Ð ¡£ ¶Ô ÓÚ·Ç ¹æ·¶ »¯Î¬ ¶È £¬ Çë ¼ì ²é ×Ó ¼¶ÁÐÊÇ ·ñΨ һȷ ¶¨¸ ¼¶£¨ »òÊôÐÔ £©ÁÐ ¡£Èç ¹û²» ×ñÊØ ÕâЩ¹æ Ôò £¬ ¿ÉÄÜ»áÔÚ²éѯʱµÃ½´íÎó¹û¡£ 2. Ö¸Ã÷¿ һά ¶ÈÖÐ µÄ²ã ´Î¡£ ÀýÈ磬 day ÊÇ month µÄ ×Ó ¼¶ £¨ÎÒ ÃÇ¿É ÒÔ½« day ¼¶±ð¾ÛºÏµ½ month£©£¬ quarter ÊÇ year µÄ×Ó¼¶¡£ 3. Ö¸Ã÷²ã´Îпһ¼¶±ðµÄÊôÔÀ¹ØÏ¡£ýÈç¬ calendar_month_name ÊÇ month µÄÊôÐÔ¡£ 4. Ö¸Ã÷Êý¾Ý²¿âÐöµ±í½Î¬¶È®¼äÄÁªÓ£ìé Ó½ ¬£ ·È £± ¿Ã ö¸ ÂÊ µÊ Ð ½µÓ ªÁ »Ò ö¸ ö½¨£ ©£ö¸»Ò ȶ¬Î £¡Ð ëÐØ± ÷ÃùÉ ¸ÃÌõ¼þ £¬ ¶ø ÇÒ»¹ ¿ÉÒÔ Ñ¡Ôñ ÊÇ·ñ¿ ÖÆ´ иà Ìõ¼þ £¬ Æä ·½¨ÊÇ Ïò Ê ʵ¹Ø¼üÁÐÌíÓ FOREIGN KEY ºÍ NOT NULL Ô¼ÊøÌõþ£¬ Ïò¸¼¶Áª½ÓüÌí PRIMARY KEY Ô¼ÊøÌõþ¡£¿ÉÒͨ¹ý NOVALIDATE Ñ¡ Ïî À´ Æô ÓÃÕâЩ Ô¼Êø Ìõ¼þ£¬ ´Ó¶ø ÎÞÐë »¨·Ñʱ ¼ä À´ÑéÖ¤ ±íÖÐ µÄÿ һРÊÇ·ñ Âú×ãÕâ ЩԼ ÊøÌõ ¼þ¡£ ¶ÔÓÚ Ëù ÓÐδµÃ µ½ ÑéÖ¤µÄÔ¼ÊøÌõþ£¬»¹ÐèҪ RELY ×Ó¾äÀ´Ê¹ÆÄÜ»ÃÚ²é Ñ¯ÖØÐ´¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 6 Ò³
  • 7.
    2 ´ ½¨Ê±¼äάµÄ SQL Óï¾ä CREATE DIMENSION times_dim LEVEL day IS TIMES.TIME_ID LEVEL month IS TIMES.CALENDAR_MONTH_DESC LEVEL quarter IS TIMES.CALENDAR_QUARTER_DESC LEVEL year IS TIMES.CALENDAR_YEAR LEVEL fis_week IS TIMES.WEEK_ENDING_DAY LEVEL fis_month IS TIMES.FISCAL_MONTH_DESC LEVEL fis_quarter IS TIMES.FISCAL_QUARTER_DESC LEVEL fis_year IS TIMES.FISCAL_YEAR HIERARCHY cal_rollup ( day CHILD OF month CHILD OF quarter CHILD OF year ) HIERARCHY fis_rollup ( day CHILD OF fis_week CHILD OF fis_month CHILD OF fis_quarter CHILD OF fis_year ) ATTRIBUTE day DETERMINES (day_number_in_week, day_name, day_number_in_month, calendar_week_number) ATTRIBUTE month DETERMINES Oracle9i ʵÌ廯ÊÓͼ µÚ 8Ò³ (calendar_month_desc, calendar_month_number, calendar_month_name, days_in_cal_month, end_of_cal_month) ATTRIBUTE quarter DETERMINES (calendar_quarter_desc,calendar_quarter_number, days_in_cal_quarter, end_of_cal_quarter) ATTRIBUTE year DETERMINES (calendar_year, days_in_cal_year, end_of_cal_year) ATTRIBUTE fis_week DETERMINES (week_ending_day, fiscal_week_number) ; ʵÌ廯 Óͼ Ò»µ©¶¨ÒåÁËάȣ¾Í¿ÉÔ´½ÊµÌ»¯Ó¼¡ÏÖÚÃÇ«×ÅØéÜ Ê²Ã´ÇµÌ廯Óͼ£¬ÔÚºóæÎÒ½«¿¨é¹¦ÄÜÈçÆö ЩʵÌ廯Óͼ¡£ ʵÌ廯Óͼ ¶¨Òå¿É°üÀ¾ÛºÏ£¬ýÈç SUM MIN¡¢ MAX¡¢ AVG¡¢ COUNT(*)¡¢ COUNT(x)¡¢ COUNT(DISTINCT)¡¢ VARIANCE »ò STDDEV, »¹¿ÉÒÔ°üÀ¨¸öò¶àÁª½ÓµÆðıíºÍ GROUP BY¡£¿ÉÒÔ½øÐË÷ýºÍ·ÖǬ»¹Ó¦Ãù±¾µÄ DLL ²Ù ×÷£¬ÀýÈç CREATE¡¢ ALTER ºÍ DROP¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 7 Ò³
  • 8.
    • SQL ÃÓ¦ òÐ̳ ¸ÍÇÊ Äµ÷à ¬£ Ë´òÒ DBA ¿ÉÒÔÚÈκʱò´½¨»¾³ýµÌå¯Óͼ¶ø²°Ïì SQL Ӧà ³ÌÐò¡£ • Ðí¶àÕ¾µã¼ÒÑ-ÓÁËÊýݲֿ⣬¢ÔÚÆä¨å׺ĸŪ¡ò ´Ë¿ÉÒÔͨ¹ý²éÑ¯ÖØÐÀ×¢áÏӸŪ£¬¶ø»ÊÇÆÈçÁã¼ ÖØÐÂÉú³¸ÅÒª¡£ ´ ½¨ÊµÌ廯 Óͼ ʹÓà CREATE MATERIALIZED VIEW Óï¾ä ´½¨ ʵÌå »¯ÊÓͼ ¡£ ͼ 3 ½éÉÜÁË ÈçºÎ ´½¨ Ò»¸ö ÃûΪ costs_mv µÄÊ Ì廯 ÊÓͼ £¬ ͨ ¹ý time ºÍ prod_nam À´¼ÆËã costs µÄ×ܺ͡£ µ±¶¨Òå ÁËÒ» ¸öʵ Ì廯 ÊÓͼ Ö®ºó £¬ ëÐØ± ØÊñ× ©Ð»Ò æ¹¥µò¼ £¡òÔ SELECT ÁбØë°üº¬ËùÓ GROUP BY ÁУ¬¶ø GROUP BY ÁбØëΪ¼òµ¥ ÐÁ £¡ ªÒèРϺ۾ í±Äµ ½Êï´ ÔÒÉ¿ ÇÊ ÎÈ Îº ĵ SQL Öµ±í ´ï ʽ £¬ ²» °üº¬ ×Ó²é ѯ»òÍø×´¾ÛºÏ¹¦ÄÜ¡£ WHERE ×Ó¾ä ½öÔÊ Ðí°ü º¬ »ùÁÐÉÏ µÄÚ ²¿Í¬ µÈÁª ½ÓÎ ´Ê¡£ ʵÌå »¯ÊÓ Í¼¿ÉÒÔÓµÐ׺Ĵ梹·¶£¬ÕâÑù¾Ö¸¨ËüÚö±í ¼äÖÐÒÔ°ÆÇøÓòµÄ´ó¡£ú»¹¿É½«·×¾üÀ¨¬±ã ʵÌ廯ÓͼÄÚÈÝ´æ¢Ô¶à¸ö±í¿ÕäÖС£ ±íºÍÊÓ¼¶¿ÉÒÔÃÚµÌ廯ĨÖС£ò´Ë¬²ÎǰæÀý ×Ó£¬³É±¾¿ÒÔ÷Ϊ»¸öí¶ø²úÆ·Êͼ¡Èç¹û ÔÚʹÓà SYSDATE ºÍ USER ÕâÑùµÄ¹¦ÜʱûÓи¾Ý§ä¯ Êý¾Ý£¬ÄÇôͿÉÒÔ¹ÓÈκ¼¡ ͼ 3 ´ ½¨ÊµÌ廯 ÓͼµÄ SQL Óï¾ä CREATE MATERIALIZED VIEW costs_mv PCTFREE 0 STORAGE (initial 8k next 8k pctincrease 0) BUILD IMMEDIATE REFRESH FAST ON DEMAND ENABLE QUERY REWRITE AS SELECT time_id, prod_name, SUM( unit_cost) AS sum_units, COUNT(unit_cost) AS count_units, COUNT(*) AS cnt FROM costs c, products p WHERE c.prod_id = p.prod_id GROUP BY time_id, prod_name; Oracle9i ʵÌ廯ÊÓͼ µÚ 8 Ò³
  • 9.
    ÒѾ-ÓµÐÊýݲֿâÄÕãÉÜß±¸ÁËŪºÍ¹³ÌÀ´Î¬»¤ ͼ¡£Òò´Ë¬ûÃÇÏÀÓ²éÑ¯ÖØÐ¹¦Äܶø»Â½¨¸Åª ¿ÉÒÔʹÓÃCREATE MATERIALIZED VIEW Óï¾äÒÔ¼° ON PREBUILT TABLE ×Ӿ佫ÒÑ-´æÔÚµÄ±í¢²áΪÊÌ廯ͼ¡£ ʵÌ廯ÓͼÄÃû³Æ±ØÐëíÏଣ¹á©èö´ ½¨¸Ã±í µÄ²é ѯµÄ SELECT ×Ó¾ä ¡£ ¿É ÄÜÎÞ ·¨Ê¼ ÖÕ±£ Ö¤ ²éѯµÄ ¾«¶È Óë ±íµÄ¾«¶ÈÆ¥Å䡣ΪÁË¿·þ´ÊÌâ¬Ó¦¸ÃÔÚ¹æÖаüº WITH REDUCED PRECISION ×Ӿ䡣 ʵÌ廯 ÓͼµÄË÷ÒýÑ¡Ôñ ¸ù¾ÝʵÌ廯ÓͼÖÐÄý¿ºÇ·ñ½øÔöÁˢ£¬ÉÜèÒª´ ½¨ÊµÌ廯ÓͼÄË÷Òý¡£ò´¬¦¸Ã¿ÂÇ×ÏÈöα¾Ø Ë÷Òý£¬ÆäÖаüºùÓʵÌ廯ͼ¹Ø×¡û¿ÉÔ »¯ÊÓͼ¹Øü×ÖÁÐÉϵĥÎË÷Òý¡£ µ±´½¨Ë÷ÒýÊ£¬²»ªÍü¼Ç¿Âøö¶Ôæ¢ÕäÄó° Ë¢ÐÂʱ¼äµÄÓ°Ïì¡£ ʵÌ廯 Óͼ¿ÉÒÔ ê³ Ä Ð©¹¤×÷£¿ ÔÚ´½¨ ʵÌå »¯ÊÓ Í¼Ö® ǰ»ò ¸Õ´ ½¨Ê± £¬ DBA ¿ÉÄÜ »á ¶ÔʵÌå »¯ÊÓ Í¼ ²úÉÕâÑùµÄÒÎÊ£ºËü¾¿¹Ü×öôÔìÙ¢ÐÂðÈçû» Ð ¬£ ²ÊªÎ ØÄ´Ã ¿£ DBMS_MVIEW.EXPLAIN_MVIEW ¹ý³Ì¿É ÒÔÌá ¹© ¸ÃÐÅÏ¢¡£ ¿¼ÂÇÎÒÃÔÚÍ 3 Öд½¨µÄÊÌ廯Óͼ£¬Èç¹ûÎÒÃǶɾ³ý COUNT£¨ *£©£¬È»ºóµ÷ÓÃͼ 4 ÖнéÉܵĹý³Ì DBMS_MVIEW.EXPLAIN_MVIEW¡£Ëü½«¸æßÎÒÃǬ·ÖøÄ±äú ×Ù (PCT£© ¿ÉÓã¬ÒòΪ³±¾íÑ-»·ÖÇøËùÐÀàÍµÄ²é¯Ø´ ¼¶ ÇÊ É¿ ÜÄ Äµ £¡ »È µÊÚÓÉ ¬£ø¶ åÌ ¯» ÓÊ ¼Í ÐÖ »Ã ÐÓ COUNT£¨ *£© Ë´òÒ¬£ DML Ö®ºó¿ìËÙ¢ÐÂÒѾ-²»ÉÄÜÁ¡£ ͼ 4 ½âÊÍ µÌ廯 ÓͼʾÀý TRUNCATE TABLE mv_capabilities_table; EXEC DBMS_MVIEW.EXPLAIN_MVIEW (‘ SELECT time_id, prod_name,SUM( unit_cost) AS sum_units, COUNT(unit_cost) AS count_units, COUNT(*) AS cnt FROM costs c, products p WHERE c.prod_id = p.prod_id GROUP BY time_id, prod_name’); SELECT capability_name, possible, related_text, msgtxt FROM mv_capabilities_table; PCT_TABLE:Y COSTS: PCT_TABLE:N PRODUCTS: relation is not a partitioned table REFRESH_COMPLETE:Y Oracle9i ʵÌ廯ÊÓͼ µÚ 9 Ò³
  • 10.
    REFRESH_FAST:Y REFRESH_FAST_AFTER_ANY_DML:N see the reason why REFRESH_FAST_AFTER_ONETAB_DML is disabled REFRESH_FAST_AFTER_INSERT:Y REFRESH_FAST_AFTER_ONETAB_DML:N COUNT(*) is not present in the select list REFRESH_FAST_PCT:Y REWRITE:Y REWRITE_FULL_TEXT_MATCH:Y REWRITE_GENERAL:Y REWRITE_PARTIAL_TEXT_MATCH:Y REWRITE_PCT:Y ʵÌ廯 ÓͼʧРʵÌ廯Óͼܽ³ÖÐøà¿Ø£¬È·±Æä°üºÄý¾ÝÇ× Ì廯ÊÓͼ§ÐµÄ¿Ç±£Ö¤²á·ØÒѾ-ýÝ¡ ÊÓͼËù»ÚµÄ¶ÔÏó¸±ä£¬ü½«êÇΪ§Ð¡ ¿ÉÒÔͨ ¹ý²é ѯ±í USER_MVIEWS À´ÅÐ ¶¨Êµ Ì廯 ÊÓͼ µÄ״̬ ¡£ Èç¹û ¶ÔʵÌ廯ÓͼÄ×´¬Ð²ÃÒÉΣ¿·¢³ö ALTER MATERIALIZED VIEW COMPILE ÃüÁî À´È· ±£ÁË ½â Æä×îР״̬ ¡£ °²È«º¬Òå Êý¾Ý¿âÖеij©ÐÅÏ¢¿ÉÄÜèÒªÞÖÆ·ÃÎÊ£¬²éѯشԱ»Ó ÖÓØ»°²È«úÆ¡£¶ø¬ÉÚËùеķϼÊÇÔ Oracle9i ·þ ÎñÆ÷ÖнøµÄ£¬ËùÒÔ¿ÉÏòÊý¾ÝºÍÌ廯Ӽṩ¸üÇ´ó± »¤¡£ ΪÁË ±ÜÃâ ¶Ôʵ Ì廯 ÊÓͼ »òÏêÇé ±íµÄ δÊÚ È¨·Ã ÎÊ £¬ ÃÓ¹Ê CREATE MATERIALIZED VIEW ʱ½«ÐèÒª CREATE MATERIALIZED VIEW ȨÏÞ¡¢¶ÔêÇé±íµÄ SELECT WITH GRANT ȨÏÞ¡¢ÒÔ¼°¶ ʵÌ廯 ÊÓͼ ÈÝÆ÷ ¶ÔÏó µÄ SELECT WITH GRANT ºÍ INSERT ȨÏÞ ¡£ ´ËÍ⣬Èç¹ûÓû§ÔÚijÎÇëóÖж±í½ø·ÊÕ©ÒѾ-¨ ÒåÁË»¸öò¶àʵ̯Óͼ£¬ÄÇô§½«±ÔÐí·Î ͼ£¬¶ø²»¿ÂǸ³ÓèʵÌå¯ÈÝÆ÷±íĨÏÞ¡Òò´ËÎÛéÑÔ× ºÎ´¦£¬Ö»ÓÐͨ¹ýÁ˰²È«¼ìéÅÄÜ·Ãʾݡ Oracle9i ʵÌ廯ÊÓͼ µÚ 10 Ò³
  • 11.
    ÔÚÀúÊ·ÉÏ£¬¸ÅÒª±í¹ÓÃý³ÌÖеĻöÎâ¾ÍÇõ¼Øº Ëæºó¸üС£Õâ©ÎÊÌâÏÖÔڵýÁ˾ö£¬Òòª¸Å¹ÜÀíá©ÁËһϵ ÁлúÖÆÊµÏÂÄ¿£º • • /ºÏ²¢·Éú±ä»¯µÄÚÈÝ • Òò´Ë£¬ DBA ±ØÐ뿼ÂÇèÒª¶àÉÙÊäÀ´½¨ºÍά»¤Ã¸öµÌå¯Ó ͼ£¬²¢ÔÚ»¨·ÑʱäÓë¹Ã¸µÌå¯ËùñÄÐÜÉÆÖ®½ø ÐÆ½ºâ¡£ Oracle 9i ÌṩÁËÏÂÃæµÄ¢Ð·½¨£º • • • ÕâЩ²Ù×÷¿ÉÒÔ • • (DBMS_MVIEW.REFRESH) • (DBMS_MVIEW.REFRESH_DEPENDENT) • (DBMS_MVIEW.REFRESH_ALL_MVIEWS) • °´ÐèË¢Âͨ¹ýµ÷ÓÃÉÏæùÁijÌÖ®Ò»ÀÊ£¬¶ø±å¯ ͼ·¢Éú¸Ä±äʳÓè DBA ÍêÈ«µÄ¿ØÖƨÏÞ¡£ Èç¹ûÑ¡ÔñÁËÌá½»¢Ð£¬ÖҪʵå¯Óͼܴý¾Ý±äİÏì Ëü¶¼½«×Ô¯¸ÐÂÒ·´Ó³ÃÊý¾Ý¡£È»ø¬ÇëÕâ÷Ϊù ±í·¢Éú¸üĵÊÂÎñÖÐÌá½»´¦ÀÒ²¿¶ø¡£òˬ ÐÂËù»¨·Ñʱ¼äáÉÔ΢³¤Ò©£¬òªè¶-íºÍÓåÖ°ü ¸Ã±íµÄÊÌ廯Óͼ¬×÷³öü¡£ ÍêȫˢРµ±ÊÌå »¯ÊÓ Í¼ê ȫˢ ÐÂʱ £¬ Ê× ÏÈ ½Ø ¶Ï ¸Ã ÊÓ Í¼ £¬ È» ºó ¼ÓÔØËù ÓÐÊý ¾Ý¡£ ¼øÓÚʵÌ廯ÍÄ´óС£¬Õâ¿ÉÜáÇÒ¸öº±¹ý³êȫˢ ÐÂÔÚÏÁÇé¿öÊÒ»îºÜõļõ£ • 50% ÒÔÉÏ¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 11 Ò³
  • 12.
    • • ¿ìËÙ ¢Ð ÓÐÒ»©ÊµÌ廯Óͼ¿ÉÄÜá·Ç³£´ó¬²¾ßÐÖÀýêȫˢ ËùÐèµÄʱ¼ä¡£Ò»ÖÌæ´ú·½¨Çø¿ì٢¬ö«í¯ µÄ²¿·ÖӦýÊÌ廯ͼС£ÔØý¾ÝâÈκ±í ½«±»Ê¶ð£¬Èºó²Î¿¼¸ÃíµÄÌå¯ÓÍÀûÐÂý¾Ýø×Ô ¶¯¸üС£ ΪÁ˽øÐ¿ì٢²×÷£¬±Øë«Êý¾ÝÖµÄ仯¼ÇÏÀ´Ó ·½¨¿ÉÒÔʵÏÖÕâ»Ä¡£Èç¹ûø¾-Óà SQL*Loader Ö±½Ó·¾¶« Êý¾Ý²åÈëµ½¿âÖУ¬ÄÇôˢ»úÆ«¼ìÕÒ¹³Ì¸÷ Òª¼ÓÔØµÄÐÂÊý¾Ý¡£È»¶ø¬´óà±ä¯Çͨ¹ SQL ÃüÁî INSERT¡¢ UPDATE ºÍ DELETE À´½øÐ¡£ÔÚÕâÖÇé¿öϬʵÌå »¯ÊÓͼËùÚµÄÿ¸ö±í¶ÐèÒª·Ý MATERIALIZED VIEW LOG¡£ ÿ¸ö±í½ÐèÒª»·ÝÈÕÖ¾£¬ÊµÌå¯ÓͼÔÚ¶ø² ÓÊ ¼Í ÐÖ £¡ òÒ çÈË´ ýÊû¹ ÐÖâ¿Ý¾ ö½ ÐÓ 6 í±ö¸ úÉ¢· ä±ËÁ ¬£¯» «½òÔ ªÒèÐö½ 6 ·ÝʵÌ廯ÓͼÈÕÖ¾¡£«¿ÉÒÔÃκýÁÄÀ´¹â ЩÈÕÖ¾¡£ Çë×¢Ò⣬²·ËùÓеÄÊÌ廯ͼ¶¿ÉÔ½øìÙ¨¹ý µ÷Óà DBMS_MVIEW.EXPLAIN_MVIEW ¹ý³ÌÀ´È·ÏÆäÊÇñ¿ÉÒÔ ¿ìË٢С£¸Ã¹ý³Ì»½¨Òé誶Ôʵå¯ÓͼøÄ©²×÷¬´ ʹÆä¿ÉÒÔìË٢С£ ˢкÍÔ¼ÊøÌõ þ Ç°ÃæÔø¾-Éù÷¹ý£¬ÀíÏëé¿ö¼ÊÌõþ¨ÓÈÆäÍâ²Øü×Ö ÊøÌõ¼þ£©Ó¦¸ÃÔÚʵ±íÖж¨Ò壬´øÈ·Ä»¿Éë Ò»¸öά¶ÈÏàÆ¥Åä¡£µ±Ìá½´ÊÔ¼øõþЩ DBA »òÐíáÓÊÖ Ê¾Ò⣬ Ðû³Æ ÓÉÚ ¿ÉÄÜ µÄÐÔ ÄÜ¿ªÏú £¬ ¸Ã Êý¾Ý ¿âÖÐ ½«²» ÔÙÓм ÊøÌõ ¼þ ¡£ È»¶ø£¬ DBA ¿ÉÒÔÈ·ÐÅ£¬Í¨¹ýÊÓà ALTER TABLE <table name> ENABLE NOVALIDATE CONSTRAINT <name> ×Ӿ䣬 ¿ÉÒÔÁ¢¼´ÆôÓÃÊøÌõþ¶ÎÞÐèì²éý¾Ý¡£Èç¹û SQL*Loader Ö±½Ó·¾¶«ÊýÝ¼ÔØµíУ¬ÄÇôÈÏé¿öËùøÌõ ¼þ¶½«±»ûÓá£ÔØÊµíÖ®ºó¬·¢³öÆôï¾ä NOVALIDATE »áÁ¢¼´ÆôÓÃÔÊøÌõþ¶ÎÞÐëì²éý¾Ý¡£ÒòËüÚØ±ä ûÓÐÈκ°Ï죬ÆôÔ¼ÊøÌõþ²èÒª¨·Ñ±ä¡¶ÉÚ ¼ÓÔØµÄÊý¾ÝûнøÑéÖ¤£¬Òò´ËÈ·±ù²á°Ïì ÈκÍêÕûÐÔ¼ÊøÌõþ¾ÓªÖØÒ¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 12 Ò³
  • 13.
    Êý¾ÝËäÈ»ÒÑ-¢Ð£¬µ«Ìå¯ÓͼԿÉò¹¨ ÃüÁîALTER SYSTEM SET QUERY_REWRITE_ENABLED = FALSE ½ûÓà ²éѯ ÖØÐ´ £¬ Ö± ÖÁËùÓРʵÌå »¯ÊÓ Í¼¶ ÒѾ- ˢР¡£ Áí Ò»·½ Ãæ£¬¶ÔÓÚÄÇЩ²»èҪʵÌå¯Í¼·´³×îÂØý¾Ý§¿É Ôڻ᰼¶ÆôÓòéÑ¯ÖØÐ´¡£ ·ÖÇøÎ¬»¤²Ù×÷ºÍʵÌ廯 Óͼ Oracle9i Ìṩ ÁËÒ» ¸ö³Æ Ϊ ·ÖÇø±ä »¯¸ú ×Ù £¨ PCT£© é×ĵ ¬£þ¼ é×ø þ¼ ¿ÉÒÔ͸Ã÷µØ¼ì²â½·ÖÇø¢ú±ä»¯£¬ÈºóÅж¨Ù×Êñ¹Ìå »¯ÊÓͼÖеÄý¾Ý²Ò¡£ÀÈ笺Ϣ·ÇøòÌí½«á°ì µ½ÊÌ廯Óͼ£¬Ö´ÐÕâÑùĹý³²á±êÇΪ§ Ч¡£ ·ÖÇø±ä»¯¸ú×Ù¹¿ÉÒÔÓÃÚ÷²°ÏìÁËÄЩʵÌåͼ С£ÀýÈ笹ûÒ»¸öÏêÇé±í·Öø½Ø¶òɾ³ PCT ½«Ö¸Ã÷ʵÌå »¯ÊÓͼÖÐܰÏìµÄ²¢½«Æäɾ³ý¡£ DBMS_MVIEW.EXPLAIN_MVIEW ¹ý³Ì½«¨ÒéĻʵå¯Óͼ ÊÇ·ñ¿ÉÒÔ¹Óà PCT¡£ ²éÑ¯ÖØÐ´ ÔÚ¸ÅÒª¹ÜÀíµÄÖî¶àÓãУ¬ÕËû§æý³ÆÞ÷®ÊÇ ²éÑ¯ÖØÐ´¹¦ÄÜ¡£ÕâÊÇÒ»ÏîÓżõ¬×ª¸ù¾Ý±íºÍ À´±àеÄÓû§²éѯ£¬¶øÊÌåͼ־ðÈ¡ýÝá¸ßËÙ ¶È¡£ÓÉÚ Oracle9i ·þÎñÆ÷¿ÉÒÔ×¶¯ÖØÐ´ÈºÏ浀 SQL Ó¦Ã³Ì ÐòÒÔʹÓõÌ廯ͼ£¬´Ëü¶ÚÖէǸ÷ÄÎÞè SQL ӦóÌÐòµÄ¸ÉÔ¤»áʾ¡£ËäȱÎÖùÒý¶¼Ç SQL SELECT ×Ӿ䣬µ«²éÑ¯ÖØÐ´ÈÔ½ÒÀÚ°üº SELECT ×Ó¾äµÄ INSERT ºÍ CREATE TABLE Óï¾ä¡£ ²éÑ¯ÖØÐ´¿ÉÒÔÓÃÚ¸÷¡£Çëע⬶ÎÈÏóùµÄ¹ ϵÎÞÐèÇ¿ÖÆ´£¬«¼ÙÉËüÃÊտġÈç¹ûù÷ØÓë±íý¾Ý ÖдæÔÚµÄʼ¹ØÏ²»Æ¥Å䣬ÇñéѯÓÎÌâ ÉùÃ÷À´ÖØÐ²éѯʱ£¬ºÜ¿Ä»áúíÎó½¹û¡ýͨ ¹ý¶¨ÒåØÏµºÍÊÓÃÔ¼øÌõþ±ã³È·£¾ÝÄÕЬËùÉú µÄ±¨¸æ½«ÊÇ¿ÉÐÅ£¬ÆäÖ°üºÕýÈ·á¹û¡ÏÁËͳêÔ ºó£¬ ¿É ÒÔ ½ö Ͷ Èë ×î С µÄ Ŭ Á¦ºÍ¿ª Ïú¾Í »ñµÃ ¿ìËÙ ¡¢ ×¼ È·µÄ²é ѯ½á ¹û ¡£ ²éѯµÄ׳ɻÔÙÐèÒªÓëÊÌåͼ¶¨¾«È·Æ¥Å䣬òÎÕâÇó DBA Ê ÏÈ Öª µÀ Ó¦ ¸Ã Õë ¶Ô Êý ¾ÝÖ´Ð ÄЩ ²éѯ ¡£µ± È»Õâ ÊDz»¿É Äܵ £¬ ÓÈÆä¶ÔÊý¾Ý²Ö¿â¸üÇç´Ë£¬ÒòΪڹ«µÄ÷ºÃ¦® Ò»¾ÍÊÇÁ¢¼´ÖеIJéѯ¡£òˬ¹ÓÃÌå½ö¿Éú×ã ²éѯµÄÒ»¿·Ö£¬ØÐ´¹ÊÇá¢Éú¡ Oracle9i ʵÌ廯ÊÓͼ µÚ 13 Ò³
  • 14.
    /½ûÓòéÑ¯ÖØÐ´ µ±ÉèÖÃÁËÏÂвÎÊý£¬éѯش½«·¢úº ALTER SESSION SET QUERY_REWRITE_ENABLED = TRUE »ò ALTER SYSTEM SET QUERY_REWRITE_ENABLED = TRUE »òµ±¶¨ÒåʵÌ廯ÊÓͼʱ£¬Í¨¹ý°üÀ¨×Ó¾ä QUERY ENABLE REWRITE ÒÔʹÆä·ûºÏ²éÑ¯ÖØÐ´Ìõ¼þ¡£ ÓÐʱ¿ÉÄÜèÒª½ûòéÑ¯ÖØ´£¬ÕâÔͨ¹ý«ÏæµÎ¸ FALSE À´ÊµÏÖ£¬Ò²¿ÉÔÚ»¸ö¾ßÌå¯Óͼ¹Ã DISABLE QUERY REWRITE ×Ó¾äÀ´ÊµÏÖ¡£ ²éÑ¯ÖØÐ´µÄÀà Í Oracle9i ÖÐ¿É ÒÔÓÐ ¸÷Ö ²é Ñ¯ÖØÐ´ ÀàÐÍ £¬ ÏÂÃæ µÄÀý ×Ó½é ÉÜÁËʹ ÓÃͼ 5 ÖеÄÊÌ廯Óͼ¿ÉÒÔÏ©¹¦Ü¡£ ͼ 5 ʵÌ廯 Óͼ à ڲéÑ¯ÖØÐ´Ê¾Àý CREATE MATERIALIZED VIEW all_cust_sales_mv BUILD IMMEDIATE REFRESH COMPLETE ENABLE QUERY REWRITE AS SELECT c.cust_id, p.prod_id, sum(s.amount_sold) AS dollars, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id GROUP BY c.cust_id, p.prod_id; ÍêȫƥÅä µ±ÊÌ廯Óͼ¶¨Òë²éÑêȫƥÅ䣬½á·¢Éú×îòÄ ¯Ñ ØÖ ²Ò£¡´Ð ÇÊ; ¬£µË FROM ×Ó¾ä ÖÐµÄ ±í ¡¢ WHERE ×Ó¾äÖÐ µÄÁª ½Ó ºÍ GROUP BY ×Ó¾äÖеĹؼüÔÚ²éѯºÍÊÌå»®êȫƥ Åä¡£ÀýÈ笸ø³öÏÂÃæµÄ²éѯº SELECT c.cust_id, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id GROUP BY c.cust_id, p.prod_id; Oracle9i ÖØÐ´Ë²éѯÒÔʹÓà all_cust_sales_mv Oracle9i ʵÌ廯ÊÓͼ µÚ 14 Ò³
  • 15.
    ÓÐʱºò²éѯ¿ÉÄÜ»áμ³ÒÁ£¬¸Ã´æ¢ÔÚŪíÖµ«Ç ¿ÉÒÔͨ ¹ý½« ʵÌå »¯ÊÓ Í¼Áª ½Ó·µ»Ø µ½ºÏ ÊµÄ Î¬±í À´ÖØ Ð»ñµÃ ¡£ Àý Èç £¬ ÔÚÇ°Ãæ µÄÀý ×ÓÖÐ £¬¼Ù É豨 ¸æ²»ÊÇ ¸ù¾Ý Óû§ ID£¬¶ø ÊÇ Ê¹Óà »§Ãû ¡£ SELECT c.cust_last_name, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id GROUP BY c.cust_last_name, p.prod_id; ´Ë´Î²éѯ²Î¿¼ c.cust_last_name ÁУ¬¸Ã²»ÔÚʵÌå¯Óͼ all_cust_sales_mv ÖУ¬µ« c.cust_last_name ÔÚ¹¦ÄÜÉÏÈ¡¾öÓ c.cust_id£¬ Õâ ÊÇÓÉ ËüÃÇ Ö®¼ä µÄ²ã´Î ¹ØÏµ ¾ö¶¨ µÄ¡£ Õâ Òâ ζ×ű¾ ´Î²é ѯ ¿ÉÒÔͨ ¹ý all_cust_sales_mv À´ÖØ Ð´£¬ ÒòΪ all_cust_sales_mv ªÁ»± ½Ó·µ»Ø¿Í§±íÒÔñà c.cust_last_name ÁС£ ¸ÅÒª»ã×Ü ò¾ÛºÏËùÓÐ µ±²éѯÔÚijһã´ÎÖÐÇëó¾ÛºÏ£¨Èç SUM £¨ÏúÊÛ©¬¸Ã¾ºµÄ ¼¶±ðȾۺÏÔÚʵÌ廯ÓÍÖдæ¢Ä¸üߣ¬¿ÉÒ¨¹ýà Ì廯ÊÓ Í¼ £¬ ÒÔ ¼° ½« ¸Ã ¾Û ºÏ »ã×ܵ½ ËùÐè ¼¶±ð ´Ó¶ø ¶Ô¸Ã ²éѯ½ø ÐÖØ д ¡£ ÀýÈ磬ÎÒÃǵÄÊÌ廯Óͼ all_cust_sales_mv ÊÇÔÚ¿Í»§¼¶±ðÉÏ×éÖ¯ Êý¾ÝµÄ£¬«ÎÒÃÇ¿ÉܸüÏÍûÔÚ״̼¶±ð½öÓ»§À¨æ¡ ÎÒÃÇѾ-´½¨Á˿ͻ§¬£üèÊöºøÓòÖ®¼äµÄ¹ØÏ¡ ÏÂÃæµÄ²éѯ¿ÉÒÔʹÓÎÇÌå»Í¼ all_cust_sales_mv À´²úÉ ±¨¸æ£¬½«Ä³Ò»¿Í§µËùÓÐÊý¾Ý¶¼ÛºÏÆðÀ´²¢ã×ÜÌ¡ SELECT c.cust_state_province, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id GROUP BY c.cust_state_province; Êý¾Ý×Ó¼¯ Æù½ñΪֹ£¬ÒÃÇѾ-¿´µÄËÓÐÊÌ廯ͼ°üºÁÈ«²ýÝ µ«ÕâÈÔ »áµ¼ ÖÂÒ» ¸ö·Ç ³£ÅÓ ´óµÄÊ Ì廯 ÊÓͼ ¡£ Oracle9i ÔÊÐí¶¨ Òå» ¸ö ʵÌ廯 ÊÓͼ £¬ Ëü½ö °üº¬ ͼ 6 ÖÐËù ʾµÄ ²¿·Ö Êý¾Ý £¬ ¼´ Dublin, Galway, Hamburg ºÍ Istanbul µÄÊý¾Ý¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 15 Ò³
  • 16.
    6 °üº¬Êý¾Ý×Ó¼¯µÄÊ Ìå»Óͼ CREATE MATERIALIZED VIEW some_cust_sales_mv BUILD IMMEDIATE REFRESH COMPLETE ENABLE QUERY REWRITE AS SELECT c.cust_id, p.prod_id, sum(s.amount_sold) AS dollars, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id AND c.cust_state_province IN ('Dublin','Galway','Hamburg','Istanbul') GROUP BY c.cust_id, p.prod_id; ÏÖÔÚ¸ÃʵÌ廯ÊÓͼ¿ÉÒÔÓÃÓÚÂú×ã°üº¬·¶Î§µÄ²éѯ£¬ ÀýÈçÏÂÃæËùʾµÄ IN ºÍ BETWEEN ×Ӿ䡣 SELECT c.cust_state_province, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id AND c.cust_state_province IN ('Dublin','Galway') GROUP BY c.cust_state_province; ²éÑ¯ÖØÐ´ÍêÕû Ô·½Ê ¸ÅÒª¹ÜÀí½«¾¡Á¦Ê¶±ð²»ÖµÄÌå¯Óͼ¢´òÉÏàêÇ£¬ ΪÁË¿·þÕâЩÎÊÌ⣬¿ÉÒÔͨ¹ý² QUERY_REWRITE_INTEGRITY À´Ñ¡ÔñÈýÖÍêÕûм¶±ð£ • STALE_TOLERATED • TRUSTED • ENFORCED (default) ÔÚ STALE_TOLERATED ·½ÊÖÐ ½«Ê¼ ÖÕʹ ÓÃÒ» ¸öʵ Ì廯ÊÓ Í¼£¬ ¼´ ʹËüÒÑ ¾-ʧ Ч ¡£ ÔÚ TRUSTED ½· ¬£ÐÖ½Ê ¯»ÅÓ òÐ̳ ÅÐàÏ µÊ åÌ ¯» ÓÊ ¼Í ÖеÄÊý ¾ÝÊÇ ×îРµÄ £¬ ÔÚ Î¬ ¶ÈÖÐÉù Ã÷µÄ ¹ØÏµ ºÍ RELY Ô¼ÊøÌõ ¼þÊÇ Õý È·µÄ¡£ÔÚÕâÒ»½ÊÖЬÓů³Ìò¹«Ã¤Ï¨Á¢åͼ »òùÓÚ ÊÓͼ µÄÊ Ì廯 ÊÓͼ £¬ ²¢ ʹÓÃ Î´Ö ÐºÍ ÒѾ- µÃ µ½Ö´Ð µÄ¹Ø ϵ ¡£ ÔÚÕâÖ·½ÊУ¬ÓÅ»¯³Ìò¹¡°ÈαÒѾ-ÉùÃ÷µ«´ ENABLED VALIDATED µÄÖ÷ /Ψһ¹Ø¼ü×ÖÔÊøÌõþºÍýά¶È¸Ã÷µÄ¾Ý ¹ØÏµ¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 16 Ò³
  • 17.
    ENFORCED ·½ÊÇĬÈÏ£ÔÚÕâÖÐÓÅ»¯³Ìò«¹ ÓÃÈ·ÖªÆä°üº¬×îÐÂÊý¾ÝµÄÌ廯ͼ£ÒÔ¹ùÚ ENABLED VALIDATEDÖ÷ /Ψһ /Íⲿ¹Ø¼ü×ÖÔÊøÌõþµÄÏ¡£ Òò´ËÄú½«·¢ÏÖ£¬Èç¹û»Ð©Ô¼ÊøÌõþÉΧÇÃÓ¸¨µ ²éÑ¯ÖØÐ´½«»á·¢Éú¡£µÈç¹ûÊÓÃÄÇÔ¼øÏ TRUSTED »ò STALE_TOLERATED ģʽ¬ÕâЩ²éÑ¯ÖØ´Ôò»á·¢Éú¡ ½á¹ûÊÇ·ñÕýÈ µ± SQL ²éѯ ʹÓà ʵÌå »¯ ÊÓͼ¶ø ·ÇÕæ 浀 Êý¾Ý Դʱ£¬ ÓÐʱºò »á³ö ÏÖ ·µ»Ø½á¹û²Í¬ÄÇé¿ö¡£ 1. ʵÌ廯 ÊÓͼ ¿ÉÄÜ ÓëÏê ϸÊý ¾Ý²»Í¬ ²½¡£ ·¢Éú ÕâÖ Çé¿ö µÄ Ô-Òòͨ ³£ ÊÇˢйý³ÌÒÆð£¬Í±Ñ¡ÔñÁ STALE_TOLERATED ÍêÕûÐÔ ·½Ê¡£ 2. Áª½ÓÐ ¿ÉÄÜ Ó°Ïì ²Î¿¼ µÄÍê ÕûÐÔ¡£ ÔÚÕâ ÖÇé ¿öÏ £¬ Ò» Щ ×Ó¶ËµÄ Ð Ã»ÓÐÕý È·»ã ×ܵ½ ¸¶Ë µÄÐ ¡£ Ϊ ÁË ±Ü Ãâ ·¢ Éú Õâ Ö Çé ¿ö £¬ ÇëʹÓà ϵ Í³Ç¿ÖÆ Ö´Ð µÄÍê ÕûÐÔ £¬ Õâ Ñù¿ªÏú ÊÇ΢ ²»×ã µÀÄ £¬ ¶ø »ñÀûÈ´ ºÜ ÏÔ Öø¡£ µ±ÊÌ廯Óͼ°üº¬Á˲ÔÙÎÚÏêÇéý¾ÝÖÐÄÅ¢£¿ÉÒ´ ½¨Ò»¸ö rolling materialized view¡£ÀýÈç¬ÊµÌ廯Óͼ¿ÉÄܰüº 18 ¸öÔ嵀 Êý¾Ý £¬ µ« ÏêÇé ±íÖÐ ½ö°üº¬ ×î½ü 6 ÂÔö¸ £¡Äµ Ë´òÒ ¬£ çÈ û¹ é² ¯Ñ ½«ÔÚ»ù±íÖжø²ÊǵÌå¯Óͼ£¬ÄôϾá¹û¡ ½âÊÍÖØÐ´ µ±Ê¹ÓòéÑ¯ÖØÐ´£¬Î×îÆ·ÄÌâÇ¡°Ë»áÂð¿ »ò¡°ÎªÊ²Ã´ËéÑ¯ÖØÐ£¿± Oracle9i ͨ¹ý DBMS_MVIEW.EXPLAIN_REWRITE ¹ý³Ì¸øöÁËÕâÒ»ÎʵĽ ¾ö°ì·¨ £¬ ͼ 7 ÖÐ ÏÔ Ê¾ ÁË Ò» ¸öʹÓà ·¶Àý ¡£ Òò ´Ë£¬ ¿ÉÒÔ ÔÚ²éѯ ÔËÐ Ö® ǰÁ˽â¸ÃÐÅÏ¢¡£ ²éѯÎı¾×÷ªÒ»¸ö³¤Ö·û´®«µÝ£¬Ã¹ýÌæ¢ÆäÔÚí REWRITE_TABLE ÖÐ ÕÒ µ½ µÄ½á¹û £¬ ±Ø Ðë²é ѯ¸Ã ±í²Å Äܲ鿴 ¹ý³Ì µÄ ½á¹û¡£ÔÚÏÂÃæµÄÀý×ÓÖЬÎÒÇ«¿´ some_cust_sales_mv ÓÃÚ´Ë ´Î²éѯ¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 17 Ò³
  • 18.
    7 ½âÊÍÖØÐ´ ¾Àý DECLARE querytxt VARCHAR2(1500) := 'SELECT c.cust_id, sum(s.amount_sold) AS dollars, p.prod_id, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id AND c.cust_state_province IN (''Dublin'',''Galway'',''Hamburg'', ''Istanbul'') GROUP BY c.cust_id, p.prod_id'; BEGIN dbms_mview.Explain_Rewrite(querytxt, NULL, 'ID1'); END; / SELECT message FROM rewrite_table; MESSAGE ------------------------------------------------------ QSM-01009:materialized view, SOME_CUST_SALES_MV, matched query text QSM-01033:query rewritten with materialized view, SOME_CUST_SALES_MV SUMMARY ADVISOR µ±Ê״ξö¶¨¹ÓÃÌ廯ͼ£¬ØÐëÒ¸³õ¡Ä¿Ç°Õâ ¶Ô DBA ¶øÑÔÊÇÒ»¸ö¾Þ´óµÄÌôÕ½£¬ÓÈÆä±ËûÃÉÎñ²¢·Í³¹ Àí½â£¬»òÕßӦóÌÐáöµÄ²éѯ¸ù±¾¿ÉԤʡ ΪÁ˰ï Öú½â ¾ö´Ë ÎÊÌâ £¬ ¸Å Òª¹ÜÀí °üº¬ ÁËÒ» ¸ö³Æ Ϊ Summary Advisor µÄ×é¼þ£¬¿ÉÒÔͨ¹ý÷Óó̻ò´ Oracle ÆóÒµ¹ÜÀí÷ÖÐÓø×é ¼þ¡£ Summary Advisor ÌṩÏÂÁÐÅ¢£º • • • • • • ÔÚʹÓà Summary Advisor ֮ǰ £¬ DBA Ó¦¸Ã ÔËÐ DBMS_STATS ¹ý ³Ì£¬ÒÔÊÕ¼¯ý¾Ý¿âÖбíºÍµå»ÓÄùÅÏ¢¡¸Ã½«×÷ Ô¤²â½ø³ÌµÄÒ»¿·Ö¡£ Ìṩ¸ºÔØ ËäÈ» Summary Advisor ÎÞÐè¸ºÔØ¾ÍÄܹ»Æ¼öʵÌå¯Ó£¬« Oracle9i ʵÌ廯ÊÓͼ µÚ 18 Ò³
  • 19.
    Oracle9i ÖпÉÒÔÓÃÏÂæµÄÎʽÀ´Ìṩ£º • (DBMS_OLAP.LOAD_WORKLOAD_USER) • SQL »º´æµÄ±Ç°ÚÈÝ (DBMS_OLAP.LOAD_WORKLOAD_CACHE) • Oracle Trace ÊÕ¼¯µÄ²éÑ (DBMS_OLAP.LOAD_WORKLOAD_TRACE) Óû§¶¨ÒåµÄ¸ºÔذüÀ½«²éѯ´æ¢ÚÊý¾Ý¿â±íÖС£Èó Summary Advisor ¶ÁÈ¡¸Ã²éѯ£¬½«Æä×÷ΪԼºµÄØ ÁíÒ»·½Ã棬SQL »º´æÖеıǰ²éѯ¿ÉÒÔ×÷Ϊ¸Ø£¬ÊäÈë½ Summary Advisor ÖС£ Èç¹û¿ÉÒÔÊÓà Oracle Trace£¬ÄÇô½«Ìṩһ¸ö³ÆÎª Summary Workload ĵ ÂÊ þ¼ ¯¼ £¡ ÃÓôƱµ ¬£±Ê «½üË ¯¼ÕÊ ØÔº¸ ÅÐÆ¼³Í ¬£¢Ï ¨Àü° é² Ñ¯ÖØÐ´Ê¹ÓõÄÌå»Í¼û³Æ¡¢¨ý¶øñÔ¤ ¼Æ¡°ºÃ´¦±£¬ÒÔ¿ÉÄÜѾ-ʹӵÀíÏ뻯ÌåÍ ËäȻҴνö¿ÉÔʹÓÃÏأ¬ëµÍƼý³Ì RECOMMEND_MVIEW_STRATEGY£¬µ«»¹ÊÇ¿ÉÒÔÚý¾ÝâÖÐ´æ ´¢¶à¸öºÔØ£¬È»ó½øÐ±ÏÕҳĿɲú×î¼ÑÍÆ¡ ÍÆ¼öʵÌ廯 Óͼ ¶Ô´½¨ÄЩʵÌ廯Óͼ½øÐÆö¿ÉÒÔ¨¹ýÁÖ·À´ê³£¬ ÊǹÓà Oracle ÆóÒµ¹ÜÀí÷ÖÐÄ Summary Advisor£¬Ëü½«´øÁìÖð² Íê³ÉƼöʵÌ廯ÓÄÕû¸¹ý²¢ÏÖ¡£ ÁíÒ»Ö·½¨Êǵ÷Óùý³Ì RECOMMEND_MVIEW_STRATEGY À´ Éú³ÍƼö¡£ Summary Advisor ½«²»¿¼ÂÇËùÑ¡ÔñµÄ·¨£¬¶øÊÍÆö ¾¿¹ÊÇɳý»Î¬ÖÏÓеÌå¯Í¼£ÒÔ°Ú誱´½¨Ä© Ì廯ÊÓͼ¡£ »¹¿ÉÒÔÊÓà DBMS_OLAP.GENERATE_MVIEW_REPORT ¹ý³Ì À´²úɿѡ±¨¸æ£¬Ã¹ý³Ìá©ÁË advisor µÄÍÆ¼ö¡¢ÊÌ廯ӹ ÓúÍËù¿¼ÂDzéѯµÄйØÅÏ¢¡£ ʵÏÖÍÆ¼ö ʹÓà Summary Advisor Ïòµ¼ÄÖî¶àºÃ´¦®Ò»ÊÇËü½«×Ô¯ÍÆ ¼ö¡£Èç¹ûÊÓÃÁË DBMS_OLAP.RECOMMEND_MVIEW_STRATEGY ¹ý³Ì £¬ Ëü ½«²ú ÉúһϵÁÐÍÆ¼ö´æ¢ÔÚÊý¾Ý¿âÖ¡£Èºó÷Óà DBMS_OLAP.GENERATE_MVIEW_SCRIPT ¹ý³ÌÀ´½¨Ò»¸ö SQL Îļþ£¬ÆäÖаüºÊµÏÕâ©ÍöËùèÓᄀ Oracle9i ʵÌ廯ÊÓͼ µÚ 19 Ò³
  • 20.
    ÎÞÐë¶ÔÕû¸öºØ½ø¿¼ÂÇ£¬ÉÒʹÓà DBMS_OLAP.ADD_FILTER_ITEM äÆÔ¶ Ð ø½ ËÂý¹ £¡ ý¹ Ë ÷Æ É¿ ÔÒ ËÔ ÓÃÚ¦³ÌÐòû¡¢²éѯÖËùʹµÄ±í»ýÆÂ ÉÏ´ÎʹÓòéѯµÄÈÕÆÚ¡¢±íôÖ÷ż¶ì¦ä»ò ¸ú×ÙÊÕ¼¯Ãû¡£È»ºó¿ÉÒÔ½«âЩ¹ýÂËÆ÷ÖµÄöò¶àÓÚ ÍÆ¼öʵÌ廯ÓĸºÔØÖС£ ¹À¼ÆÊµÌ廯 ÓͼµÄ´óС DBA µÄ Áí Ò» ÓÐ Àû ÓÅ ÊÆ ÊÇ £¬ Ëû¿ÉÒÔ ÔÚ´ ½¨Êµ Ì廯 ÊÓͼ ֮ǰ¹À ¼Æä ´ó С£Í¨¹ý½«²éѯ×÷Ϊһ¸öÊäÈëµ DBMS_OLAP.ESTIMATE_MVIEW_SIZE ÖУ¬Äܹ»Ô¤²âʵÌå¯Ó ͼÖеÄÊý¿ºÆäÉܴ󡣬Èç 9 Ëùʾ£º ͼ 9 ¹À¼ÆÊµÌ廯 ÓͼµÄ´óС DECLARE no_of_rows NUMBER; mv_size NUMBER; BEGIN dbms_olap.estimate_summary_size ('MV 1', 'SELECT c.cust_id, sum(s.amount_sold) AS dollars,p.prod_id, sum(s.quantity_sold) as quantity FROM sales s , customers c, products p WHERE c.cust_id = s.cust_id AND s.prod_id = p.prod_id GROUP BY c.cust_id, p.prod_id' , no_of_rows, mv_size ); DBMS_OUTPUT.put_line ( ''); DBMS_OUTPUT.put_line ( 'No of Rows:' || no_of_rows ); DBMS_OUTPUT.put_line ( 'Size of Materialized view (bytes): ' || mv_size ); END; No of Rows: 245504 Size of Materialized view (bytes): 21604352 ½áÂÛ ¶ÔÓÚÆÍûÌá¸ßÊý¾Ý²Ö¿â»òéѯÐÄܵÈËÀ´£¬ç¹ÃÇ ¹»Ô¤ÏȼÆËãÒЩ²éѯµÄ½á¹û£¬Çô¾ÍÓ¦¸º¿¼ÂÒ»ÏÊÖÌå »¯ÊÓͼ ¡£ ´½¨ ʵÌå »¯ÊÓ Í¼Ëù ÐèÒªµÄ ¹¤×÷ Á¿·Ç ³£ÉÙ £¬ Summary Advisor ½«ÏòÄú¨Òé´Ð©ÊÓͼ£¬ÉõÖÁ»¹ÌáÆöµÅ±¾¡ Á¢ÆðʵÌ廯Óͼ£¬ËüÂÉϽ«¿ÒÔ×Τ¡ÖնçڲÐèª ¸üÄÈÎ ºÎ SQL ëÂú´ ö¿éÇĵ ÂÏ ¬£ ɿ; ´¿ÔÒ é²½µ ìÏ¯Ñ ±Ê¦Ó ä¼ ÐÓ ËÁ ÔÏ øÖ µÄ¸ÉÆ¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 20 Ò³
  • 21.
    Oracle9i ʵÌ廯ÊÓͼ 2001Äê 5Ô ×÷Õߣº Dr. Lilian Hobbs Ð-×÷Õߣº Oracle Corporation È«Çò×ܲ¿ 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. È«Çò×ÉÑ¯È Ïߣº µç»°£º +1.650.506.7000 ´«Õ棺 +1.650.506.7200 www.oracle.com Oracle ¹«Ë¾Ìṩ¸ÃÈí¼þ that powers the internet. Oracle ÊÇ Oracle Corporation µÄ×¢²áÉ̱ꡣ ±¾ÎÄÖÐÌá¼°µÄ¸÷Ö ²úÆ·ºÍ þÎñµÄÃû³Æ¿ÉÄÜÊÇ Oracle Corporation µÄÉ̱ꡣÆäËü ùÓÐÌá¼° µÄ²úÆ·ºÍ þÎñÃû³Æ¿ÉÄÜÊǸ÷×ÔËùÓÐÕßµÄÉ̱ꡣ °æÈ¨ËùÓÐ © 2000 Oracle ¹«Ë¾ ±£ÁôËùÓÐȨÀû¡£ Oracle9i ʵÌ廯ÊÓͼ µÚ 21 Ò³