DB2 SQLÐÔÄÜÓÅ»¯Ïà¹ØµÄ10´óÒªËØ
ÏÂÃæÌá³öÁË10ÌõºÍDB2 SQLÐÔÄÜÏà¹ØµÄ10ÌõÒòËØ£º
1¡¢ÌṩÊʵ±µÄͳ¼ÆÐÅÏ¢
¶ÔDB2ÓÅ»¯¹ÜÀíÆ÷£¨otimizer£©¶øÑÔ£¬ÈçºÎ¸ü¼ÓÓÐЧµÄÖ´ÐÐSQLÓï¾äÊÇÓÉ´æÔÚÓÚDB2 catalogÖеÄͳ¼ÆÐÅÏ¢¾ö¶¨µÄ£¬ÓÅ»¯Æ÷ÀûÓÃÕâЩÐÅÏ¢¾ö¶¨×îÓÅ»¯µÄ·¾¶¡£
Òò´Ë£¬ÎªÁ˱£³ÖϵͳÄܹ»×ö³ö×î¼ÑÑ¡Ôñ£¬ÐèÒª¾³£µÄÔËÐÐRunstatsÃüÁÀ´±£³Öϵͳͳ¼ÆÐÅÏ¢µÄ¼°Ê±ÓÐЧ¡£ÔÚ¹¤×÷¸ººÉºÜ´óµÄÉú²ú»·¾³ÖУ¬¾³£ÔËÐÐRunstatsÊǺܱØÒªµÄ£¬ÎªÁ˼õÉÙ½øÐÐͳ¼Æ¶Ôϵͳ´øÀ´µÄÓ°Ï죬¿ÉÒÔʹÓÃSampling¼¼Êõ¡£
2¡¢ÔÚSQLÓï¾äÖо¡Á¿Ê¹ÓÃStage 1µÄν´Ê
ÊôÓÚStage 1µÄSQLν´ÊÓÉData Manager´¦Àí£¬¶øÊôÓÚStage 2µÄSQLÓÉRelational Data ServerÖ´ÐС£ÔÚ´¦ÀíЧÂÊÉÏ£¬Data Manager¸üÓÐÓÅÊÆ£¬Òò´Ë£¬Èç¹û¿ÉÄܵĻ°¾¡Á¿°ÑSQLÓï¾äд³ÉÄܹ»ÔÚStage 1Ö´Ðеġ£Èç¹ûÄܹ»½áºÏIndexÀ´È·¶¨SQLÓï¾äÖеÄν´Ê£¬ÄÇô½«»á¸ü¼ÓÌá¸ßSQLÖ´ÐеÄЧÂÊ¡£Òò´Ë£¬ÔÚдSQL²éѯÓï¾äµÄʱºò£¬Òª½áºÏIndexµÄ¶¨ÒåÒÔ¼°Î½´ÊÃèдµÄÑ¡Ôñ£¬¾¡¿ÉÄܵÄÈÃSQLÔÚStage 1ÔËÐС£
3¡¢ÔÚSQLÖнöÑ¡ÔñÐèÒªµÄÁÐ
ÔÚSQLÓï¾äÖУ¬½öÖ¸¶¨³ÌÐòÐèÒªµÄÁлáÓÐÀûÓÚÌá¸ßSQLÔËÐеÄÐÔÄÜ¡£Èç¹û²ÉÓÃSelect *ÕâÖÖģʽ£¬½«»á¸ø¿Í»§¶ËµÄÓ¦ÓóÌÐò´øÀ´¶îÍâµÄ´¦Àí¹¤×÷£¬²¢ÐèÒª¸ü¶àµÄÄÚ´æµÈ×ÊÔ´¡£¶Ô·þÎñÆ÷¶Ë¶øÑÔ£¬¶àÓàµÄÁÐÔÚÅÅÐò¹ý³ÌÖлáÔö´óSort¹¤×÷Îļþ£¬²¢Òò´Ëµ¼ÖÂÅÅÐòËٶȵÄϽµ£¬²¢ÐèÒª¸ü¶àµÄ´æ´¢×ÊÔ´¡£ÔÚÍøÂç´«Êä¹ý³ÌÖУ¬Ò²½«´«ÊäһЩ²»±ØÒªµÄÊý¾Ý£¬½µµÍÍøÂçЧÂÊ¡£
4¡¢½öÑ¡ÔñÐèÒªµÄÐÐ
²éѯµÄÐÐÔ½ÉÙ£¬²éѯµÄËٶȺÍÏìÓ¦ËٶȾÍÔ½¿ì¡£²éѯ»ñµÃµÄÿһÐÐÊý¾Ý£¬¶¼¾ÀúÁË´Ó´æ´¢É豸-¡µ»º³å³Ø-¡µÅÅÐòºÍת»»-¡µÍøÂç´«Êä-¡µÓ¦ÓóÌÐòµÈһϵÁйý³Ì¡£ÔÚÊý¾ÝµÄ²éѯ¹ý³ÌÖУ¬Êý¾Ý¿â¹ÜÀíÆ÷½«»á×÷ºÜ¶àÊý¾ÝµÄ¹ýÂ˹¤×÷£¬Èç¹ûÓÐÐí¶à²¢²»ÐèÒªµÄÐдÓÊý¾Ý¿âÖмìË÷³öÀ´£¬½«»áÀ˷Ѻܶ಻±ØÒªµÄ´¦Àíʱ¼ä£¬Òò´Ë£¬ÔÚSQLÓï¾äµÄ׫д¹ý³ÌÖÐÓ¦¸ÃÏêϸµÄÖ¸¶¨²éѯÌõ¼þ£¬½ö²éѯÐèÒªµÄÐС£
5¡¢Èç¹ûÊý¾Ý¿âÖеÄÊý¾ÝºÜ³¤Ê±¼ä²»±ä£¬ÔÚSQL¾¡Á¿Ê¹Óó£Á¿»òÕß×Ö·û¡£
ÔÚSQLÖÐʹÓÃÖ÷»ú±äÁ¿£¬ÊÇΪÁËʹϵͳÊÊÓ¦²»¶Ï±ä»¯µÄÍⲿ»·¾³¡£ÔÚSQL³ÌÐòÖÐʹÓÃÖ÷»ú±äÁ¿Äܹ»Ê¹Ó¦ÓóÌÐò²»ÐèÒªÖØа󶨾ͿÉÒÔÖ±½ÓÖ´ÐÐеÄSQL¶¨Òå¡£µ«ÊÇÕâÖÖÁé»îÐÔÊÇÒÔ½µµÍDB2ÓÅ»¯¹ÜÀíÆ÷µÄÐÔÄÜΪ´ú¼ÛµÄ¡£ÔÚ°üº¬Ö÷»ú±äÁ¿µÄSQLÓï¾äÖУ¬DB2ÓÅ»¯¹ÜÀíÆ÷ÒÔĬÈϵĹÀ¼ÆÖµÀ´½øÐÐSQL·¾¶µÄÑ¡Ôñ£¬¶ø²»ÊǸù¾ÝCatalogÖеÄͳ¼ÆÐÅÏ¢£¬ÕâÖÖÑ¡ÔñºÜ¶àʱºò¶¼²»ÊÇ×îÓÅ»¯µÄ¡£Òò´Ë£¬Ê¹Óó£Á¿»òÕß×Ö·û´úÌæÖ÷»ú±äÁ¿ÔÚ³¤Ê±¼ä¹Ì¶¨²»±äµÄ»·¾³Öн«»á±ÈʹÓÃÖ÷»ú±äÁ¿¸üÓÐÓÅÊÆ¡£
6¡¢Ê¹Êý×Ö¡¢ÈÕÆÚµÈÊý¾ÝÀàÐÍÏàÆ¥
Ïà¹ØÎĵµ£º
--ºÏ²¢ÐУ¬²¢·µ»ØºÏ²¢µÄÖµ
Create proc [dbo].[proUniteRow]
@tab varchar(30), --±íÃû
@col varchar(30), --ºÏ²¢µÄÁÐÃû
@where varchar(2000), &nbs ......
Ò»¡¢ PL/SQLÓïÑÔ¼ò½é
(±¾½²ÒåÖ®ËùÓгÌÐò¾ùµ÷ʽͨ¹ý)
Ê×ÏÈÎÒÃÇ¿´Ò»¸ö¼òµ¥Ö®Àý×Ó,ÏÂÃæÕâ¸öÀý×ÓÊÇͳ¼Æ´Ó1ÖÁ100µÄ×ܺÍ.
declare
i number:=0; /*ÉùÃ÷±äÁ¿¾®¸ø³õÖµ*/
t number:=1;
error_message exception; /*ÉùÃ÷Ò»¸ö³ö´í´¦Àí*/
begin
......
ÓÐʱÎÒÃÇ»áÏñÏÂÃæµÄÇé¿öÒ»Ñù£¬ÎªÖ÷±íµÄıһÌõ¼Ç¼£¬ÔÚÖмä±í(T_Stud_Course ±í)ÖÐͬʱ²åÈë¶àÌõÊý¾Ý
T_Student ±í
Stud_ID
Name
1
Tom
2
Jack
T_Course ±í
Course_ID
Course
1
Chinese
2
English
T_Stud_Course ±í
ID
Stud_ID
Course_ID
1
1
1
2
1
2
3
2
2
ÏÖÔÚÎÒÃÇ¿ÉÒÔÏÂÃæµÄ´æ´¢¹ý³ÌÀ ......
USE MASTER
GO
--´´½¨Êý¾Ý¿âÎļþ´æ·ÅĿ¼
EXEC XP_CMDSHELL 'MKDIR D:\LOANSTUMIS'
IF EXISTS(SELECT *
from SYSDATABASES
WHERE NAME = 'LOANSTU')
DROP DATABASE LOANSTU
GO
--´´½¨Êý¾Ý¿â
CREATE DATABASE LOANSTU
ON
(
NAME = 'LOANSTU_DATA',
FILENAME = 'D:\LOANSTUMIS\LOANSTU_DATA.MDF',
......
TEMPDB²»Ö§³Ö×Ô¶¯Ñ¹Ëõ£¬ÇÒËüµÄÊý¾Ý¿âºÍÎļþѹËõÄÜÁ¦ÊÇÓÐÏÞÖƵģ»
Èç²»µÃ²»Ñ¹ËõTEMPDBµÄ´óС£¬½¨ÒéʹÓÃÀëÏß¹¦ÄÜ£¬ÈçϲÙ×÷£º
1.Í£Ö¹SQL SERVER·þÎñ£»
2.ÕÒµ½sqlservr.exeÔÚ´ÅÅÌÖеÄλÖã»
3.ʹÓÃsqlservr.exeÊäÈëÃüÁîsqlservr -c -f,ÕâÑùÆô¶¯SQL SERVERʱ£¬TEMPDBµÄ´óСÄܹ»±£³Ö×îС£»
4.ʹÓÃTSQLÃüÁALTER DATA ......