ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[¤À¨É] [¤À¨É] Oracle¦sÀx¹Lµ{½s¼g¸gÅç©MÀu¤Æ±¹¬I

[¤À¨É] [¤À¨É] Oracle¦sÀx¹Lµ{½s¼g¸gÅç©MÀu¤Æ±¹¬I

¾ã²z¤å¥ó®É¡Aµo²{´X¦~«e·j¶°¨ìªº¤@¨Ç¤å¥ó¡A¥X³B¤w¤£ª¾¤F¡A¤£¹L¤º®eÆZ¨ü¥Î¡A¤À¨Éµ¹¤j®a¡C
1        ¶}µo¤H­û¦pªG¥Î¨ì¨ä¥L®wªºTable©ÎView¡A°È¥²¦b·í«e®w¤¤«Ø¥ßView¨Ó¹ê²{¸ó®w¾Þ§@¡A³Ì¦n¤£­nª½±µ¨Ï¥Î¡§databse.dbo.table_name¡¨¡A¦]¬°sp_depends¤£¯àÅã¥Ü¥X¸ÓSP©Ò¨Ï¥Îªº¸ó®wtable©Îview¡A¤£¤è«K®ÕÅç¡C  
2        ¶}µo¤H­û¦b´£¥æSP«e¡A¥²¶·¤w¸g¨Ï¥Îset showplan on¤ÀªR¹L¬d¸ß­pµe¡A°µ¹L¦Û¨­ªº¬d¸ßÀu¤ÆÀˬd¡C
3        °ªµ{¦¡¹B¦æ®Ä²v¡AÀu¤ÆÀ³¥Îµ{¦¡¡A¦bSP½s¼g¹Lµ{¤¤À³¸Óª`·N¥H¤U´XÂI¡G
3.1        SQLªº¨Ï¥Î³W½d¡G
3.1.1        ¾¨¶qÁקK¤j¨Æ°È¾Þ§@¡A·V¥Îholdlock¤l¥y¡A´£°ª¨t²Î¨Öµo¯à¤O¡C
3.1.2        ¾¨¶qÁקK¤Ï´_³X°Ý¦P¤@±i©Î´X±iªí¡A¤×¨ä¬O¸ê®Æ¶q¸û¤jªºªí¡A¥i¥H¦Ò¼{¥ý®Ú¾Ú±ø¥ó´£¨ú¸ê®Æ¨ìÁ{®Éªí¤¤¡AµM«á¦A°µ³s±µ¡C
3.1.3        ¾¨¶qÁקK¨Ï¥Î´å¼Ð¡A¦]¬°´å¼Ðªº®Ä²v¸û®t¡A¦pªG´å¼Ð¾Þ§@ªº¸ê®Æ¶W¹L1¸U¦æ¡A¨º»ò´NÀ³¸Ó§ï¼g¡F¦pªG¨Ï¥Î¤F´å¼Ð¡A´N­n¾¨¶qÁקK¦b´å¼Ð°j°é¤¤¦A¶i¦æªí³s±µªº¾Þ§@¡C  
3.1.4        ª`·Nwhere¦r¥y¼gªk¡A¥²¶·¦Ò¼{»y¥y¶¶§Ç¡AÀ³¸Ó®Ú¾Ú¯Á¤Þ¶¶§Ç¡B½d³ò¤j¤p¨Ó½T©w±ø¥ó¤l¥yªº«e«á¶¶§Ç¡AºÉ¥i¯àªºÅýÄæ¦ì¶¶§Ç»P¯Á¤Þ¶¶§Ç¬Û¤@­P¡A½d³ò±q¤j¨ì¤p¡C  
3.1.5        ¤£­n¦bwhere¤l¥y¤¤ªº¡§=¡¨¥ªÃä¶i¦æ¨ç¼Æ¡Bºâ³N¹Bºâ©Î¨ä¥L¹Bºâ¦¡¹Bºâ¡A§_«h¨t²Î±N¥i¯àµLªk¥¿½T¨Ï¥Î¯Á¤Þ¡C
3.1.6        ¾¨¶q¨Ï¥Îexists¥N´Àselect count(1)¨Ó§PÂ_¬O§_¦s¦b°O¿ý¡Acount¨ç¼Æ¥u¦³¦b²Î­pªí¤¤©Ò¦³¦æ¼Æ®É¨Ï¥Î¡A¦Ó¥Bcount(1)¤ñcount(*)§ó¦³®Ä²v¡C
3.1.7        ¾¨¶q¨Ï¥Î¡§>=¡¨¡A¤£­n¨Ï¥Î¡§>¡¨¡C
3.1.8        ª`·N¤@¨Çor¤l¥y©Munion¤l¥y¤§¶¡ªº´À´«
3.1.9        ª`·Nªí¤§¶¡³s±µªº¸ê®ÆÃþ«¬¡AÁקK¤£¦PÃþ«¬¸ê®Æ¤§¶¡ªº³s±µ¡C
3.1.10        ª`·N¦sÀx¹Lµ{¤¤°Ñ¼Æ©M¸ê®ÆÃþ«¬ªºÃö«Y¡C
3.1.11        ª`·Ninsert¡Bupdate¾Þ§@ªº¸ê®Æ¶q¡A¨¾¤î»P¨ä¥LÀ³¥Î½Ä¬ð¡C¦pªG¸ê®Æ¶q¶W¹L200­Ó¸ê®Æ­¶­±¡]400k¡^¡A¨º»ò¨t²Î±N·|¶i¦æÂê¤É¯Å¡A­¶¯ÅÂê·|¤É¯Å¦¨ªí¯ÅÂê¡C
3.2        ¯Á¤Þªº¨Ï¥Î³W½d¡G
3.2.1        ¯Á¤Þªº³Ð«Ø­n»PÀ³¥Îµ²¦X¦Ò¼{¡A«Øij¤jªºOLTPªí¤£­n¶W¹L6­Ó¯Á¤Þ¡C
3.2.2        ºÉ¥i¯àªº¨Ï¥Î¯Á¤ÞÄæ¦ì§@¬°¬d¸ß±ø¥ó¡A¤×¨ä¬O»EÁL¯Á¤Þ¡A¥²­n®É¥i¥H³q¹Lindex index_name¨Ó±j¨î«ü©w¯Á¤Þ
3.2.3        ÁקK¹ï¤jªí¬d¸ß®É¶i¦ætable scan¡A¥²­n®É¦Ò¼{·s«Ø¯Á¤Þ¡C
3.2.4        ¦b¨Ï¥Î¯Á¤ÞÄæ¦ì§@¬°±ø¥ó®É¡A¦pªG¸Ó¯Á¤Þ¬OÁp¦X¯Á¤Þ¡A¨º»ò¥²¶·¨Ï¥Î¨ì¸Ó¯Á¤Þ¤¤ªº²Ä¤@­ÓÄæ¦ì§@¬°±ø¥ó®É¤~¯à«OÃÒ¨t²Î¨Ï¥Î¸Ó¯Á¤Þ¡A§_«h¸Ó¯Á¤Þ±N¤£·|³Q¨Ï¥Î¡C
3.2.5        ­nª`·N¯Á¤ÞªººûÅ@¡A¶g´Á©Ê­««Ø¯Á¤Þ¡A­«·s½sĶ¦sÀx¹Lµ{¡C
3.3        tempdbªº¨Ï¥Î³W½d¡G
3.3.1        ¾¨¶qÁקK¨Ï¥Îdistinct¡Border by¡Bgroup by¡Bhaving¡Bjoin¡B***pute¡A¦]¬°³o¨Ç»y¥y·|¥[­«tempdbªº­t¾á¡C
3.3.2        ÁקKÀWÁc³Ð«Ø©M§R°£Á{®Éªí¡A´î¤Ö¨t²Îªí¸ê·½ªº®ø¯Ó¡C
3.3.3        ¦b·s«ØÁ{®Éªí®É¡A¦pªG¤@¦¸©Ê´¡¤J¸ê®Æ¶q«Ü¤j¡A¨º»ò¥i¥H¨Ï¥Îselect into¥N´Àcreate table¡AÁקKlog¡A´£°ª³t«×¡F¦pªG¸ê®Æ¶q¤£¤j¡A¬°¤F½w©M¨t²Îªíªº¸ê·½¡A«Øij¥ýcreate table¡AµM«áinsert¡C
3.3.4        ¦pªGÁ{®Éªíªº¸ê®Æ¶q¸û¤j¡A»Ý­n«Ø¥ß¯Á¤Þ¡A¨º»òÀ³¸Ó±N³Ð«ØÁ{®Éªí©M«Ø¥ß¯Á¤Þªº¹Lµ{©ñ¦b³æ¿W¤@­Ó¤l¦sÀx¹Lµ{¤¤¡A³o¼Ë¤~¯à«OÃÒ¨t²Î¯à°÷«Ü¦nªº¨Ï¥Î¨ì¸ÓÁ{®Éªíªº¯Á¤Þ¡C
3.3.5        ¦pªG¨Ï¥Î¨ì¤FÁ{®Éªí¡A¦b¦sÀx¹Lµ{ªº³Ì«á°È¥²±N©Ò¦³ªºÁ{®ÉªíÅ㦡§R°£¡A¥ýtruncate table¡AµM«ádrop table¡A³o¼Ë¥i¥HÁקK¨t²Îªíªº¸ûªø®É¶¡Âê©w¡C
3.3.6        ·V¥Î¤jªºÁ{®Éªí»P¨ä¥L¤jªíªº³s±µ¬d¸ß©M­×§ï¡A´î§C¨t²Îªí­t¾á¡A¦]¬°³oºØ¾Þ§@·|¦b¤@±ø»y¥y¤¤¦h¦¸¨Ï¥Îtempdbªº¨t²Îªí¡C
3.4        ¦X²zªººtºâªk¨Ï¥Î¡G
®Ú¾Ú¤W­±¤w´£¨ìªºSQLÀu¤Æ§Þ³N©MASE Tuning¤â¥U¤¤ªºSQLÀu¤Æ¤º®e,µ²¦X¹ê»ÚÀ³¥Î,±Ä¥Î¦hºØºtºâªk¶i¦æ¤ñ¸û,¥HÀò±o®ø¯Ó¸ê·½³Ì¤Ö¡B®Ä²v³Ì°ªªº¤èªk¡C¨ãÅé¥i¥ÎASE½ÕÀu©R¥O¡Gset statistics io on, set statistics time on , set showplan on µ¥¡C

        ÀR«ä¦Û¦b : ¡i¦æµ½­n¤Î®É¡j¦æµ½­n¤Î®É¡A¥\¼w­n«ùÄò¡C¦p¿N¶}¤ô¤@¯ë¡A¥¼¿N¶}¤§«e¤d¸U¤£­n°±º¶¤õ­Ô¡A§_«h­«¨Ó´N¤Ó¶O¨Æ¤F¡C
ªð¦^¦Cªí ¤W¤@¥DÃD