ÓÃSQL½¨Á¢Ë÷Òý
¡¡¡¡¼ÙÉèÄãÏëÕÒÊéÖеÄijһ¸ö¾ä×Ó¡£Äã¿ÉÒÔÒ»Ò³Ò»Ò³µØÖðÒ³ËÑË÷£¬µ«Õâ»á»¨ºÜ¶àʱ¼ä¡£¶øÍ¨¹ýʹÓÃË÷Òý£¬Äã¿ÉÒÔºÜ¿ìµØÕÒµ½ÄãÒªËÑË÷µÄÖ÷Ìâ¡£
¡¡¡¡±íµÄË÷ÒýÓ븽ÔÚÒ»±¾ÊéºóÃæµÄË÷Òý·Ç³£ÏàËÆ¡£Ëü¿ÉÒÔ¼«´óµØÌá¸ß²éѯµÄËÙ¶È¡£¶ÔÒ»¸ö½Ï´óµÄ±íÀ´Ëµ£¬Í¨¹ý¼ÓË÷Òý£¬Ò»¸öͨ³£Òª»¨·Ñ¼¸¸öСʱÀ´Íê³ÉµÄ²éѯֻҪ¼¸·ÖÖӾͿÉÒÔÍê³É¡£Òò´ËûÓÐÀíÓɶÔÐèҪƵ·±²éѯµÄ±íÔö¼ÓË÷Òý¡£
¡¡¡¡×¢Ò⣺
¡¡¡¡µ±ÄãµÄÄÚ´æÈÝÁ¿»òÓ²Å̿ռ䲻×ãʱ£¬Ò²ÐíÄã²»Ïë¸øÒ»¸ö±íÔö¼ÓË÷Òý¡£¶ÔÓÚ°üº¬Ë÷ÒýµÄÊý¾Ý¿â£¬SQL SeverÐèÒªÒ»¸ö¿É¹ÛµÄ¶îÍâ¿Õ¼ä¡£ÀýÈ磬Ҫ½¨Á¢Ò»¸ö¾Û´ØË÷Òý£¬ÐèÒª´óÔ¼1.2±¶ÓÚÊý¾Ý´óСµÄ¿Õ¼ä¡£Òª¿´Ò»¿´Ò»¸ö±íµÄË÷ÒýÔÚÊý¾Ý¿âÖÐËùÕ¼µÄ¿Õ¼ä´óС£¬Äã¿ÉÒÔʹÓÃϵͳ´æ´¢¹ý³Ìsp_spaceused£¬¶ÔÏóÃûÖ¸¶¨Îª±»Ë÷ÒýµÄ±íÃû¡£
¡¡¡¡¾Û´ØË÷ÒýºÍ·Ç¾Û´ØË÷Òý
¡¡¡¡¼ÙÉèÄãÒѾÊéµÄË÷ÒýÕÒµ½ÁËÒ»¸ö¾ä×ÓËùÔÚµÄÒ³Âë¡£Ò»µ©ÒѾ֪µÀÁËÒ³Âëºó£¬ÄãºÜ¿ÉÄÜÂþÎÞÄ¿µÄ·Ñ°Õâ±¾Ê飬ֱÖÁÕÒµ½ÕýÈ·µÄÒ³Â롣ͨ¹ýËæ»úµÄ·Ñ°£¬Äã×îÖÕ¿ÉÒÔµ½´ïÕýÈ·µÄÒ³Âë¡£µ«ÊÇ£¬ÓÐÒ»ÖÖÕÒµ½Ò³ÂëµÄ¸üÓÐЧµÄ·½·¨¡£
¡¡¡¡Ê×ÏÈ£¬°ÑÊé·µ½´ó¸ÅÒ»°ëµÄµØ·½£¬Èç¹ûÒªÕÒµÄÒ³Âë±È°ë±¾Êé´¦µÄÒ³ÂëС£¬¾ÍÊé·µ½ËÄ·ÖÖ®Ò»´¦£¬·ñÔò£¬¾Í°ÑÊé·µ½ËÄ·ÖÖ®ÈýµÄµØ·½¡£Í¨¹ýÕâÖÖ·½·¨£¬Äã¿ÉÒÔ¼ÌÐø°ÑÊé·Ö³É¸üСµÄ²¿·Ö£¬Ö±ÖÁÕÒµ½ÕýÈ·µÄÒ³Â븽½ü¡£ÕâÊÇÕÒµ½ÊéÒ³µÄ·Ç³£ÓÐЧµÄÒ»ÖÖ·½·¨¡£
¡¡¡¡SQL SeverµÄ±íË÷ÒýÒÔÀàËÆµÄ·½Ê½¹¤×÷¡£Ò»¸ö±íË÷ÒýÓÉÒ»×éÒ³×é³É£¬ÕâЩҳ¹¹³ÉÁËÒ»¸öÊ÷Ðνṹ¡£¸ùҳͨ¹ýÖ¸ÏòÁíÍâÁ½¸öÒ³£¬°ÑÒ»¸ö±íµÄ¼Ç¼´ÓÂß¼ÉϷֳɺÍÁ½¸ö²¿·Ö¡£¶ø¸ùÒ³ËùÖ¸ÏòµÄÁ½¸öÒ³ÓÖ·Ö±ð°Ñ¼Ç¼·Ö¸î³É¸üСµÄ²¿·Ö¡£Ã¿¸öÒ³¶¼°Ñ¼Ç¼·Ö³É¸üСµÄ·Ö¸î£¬Ö±ÖÁµ½´ïÒ¶¼¶Ò³¡£
¡¡¡¡Ë÷ÒýÓÐÁ½ÖÖÀàÐÍ£º¾Û´ØË÷ÒýºÍ·Ç¾Û´ØË÷Òý¡£ÔÚ¾Û´ØË÷ÒýÖУ¬Ë÷ÒýÊ÷µÄÒ¶¼¶Ò³°üº¬Êµ¼ÊµÄÊý¾Ý£º¼Ç¼µÄË÷Òý˳ÐòÓëÎïÀí˳ÐòÏàͬ¡£ÔڷǾ۴ØË÷ÒýÖУ¬Ò¶¼¶Ò³Ö¸Ïò±íÖеļǼ£º¼Ç¼µÄÎïÀí˳ÐòÓëÂ߼˳ÐòûÓбØÈ»µÄÁªÏµ¡£
¡¡¡¡¾Û´ØË÷Òý·Ç³£ÏóĿ¼±í£¬Ä¿Â¼±íµÄ˳ÐòÓëʵ¼ÊµÄÒ³Âë˳ÐòÊÇÒ»Öµġ£·Ç¾Û´ØË÷ÒýÔò¸üÏóÊéµÄ±ê×¼Ë÷Òý±í£¬Ë÷Òý±íÖеÄ˳Ðòͨ³£Óëʵ¼ÊµÄÒ³Âë˳ÐòÊDz»Ò»Öµġ£Ò»±¾ÊéÒ²ÐíÓжà¸öË÷Òý¡£ÀýÈ磬ËüÒ²ÐíͬʱÓÐÖ÷ÌâË÷ÒýºÍ×÷ÕßË÷Òý¡£Í¬Ñù£¬Ò»¸ö±í¿ÉÒÔÓжà¸ö·Ç¾Û´ØË÷Òý¡£
¡¡¡¡Í¨³£Çé¿öÏ£¬ÄãʹÓõÄÊǾ۴ØË÷Òý£¬µ«ÊÇÄãÓ¦¸Ã¶ÔÁ½ÖÖÀàÐÍË÷ÒýµÄÓÅȱµã¶¼ÓÐËùÀí½â¡£
¡¡¡¡Ã¿¸ö±íÖ»ÄÜÓÐÒ»¸ö¾Û´ØË÷Òý£¬ÒòΪһ¸ö±íÖеļǼֻÄÜÒÔÒ»ÖÖÎïÀí˳Ðò´æ·Å¡£Í¨³£ÄãÒª¶ÔÒ»¸ö±í°´ÕÕ±êʶ×ֶν¨Á¢¾Û´ØË÷Òý¡£µ«ÊÇ£¬ÄãÒ²¿ÉÒÔ¶ÔÆäËüÀàÐ͵Ä×ֶν¨Á¢¾Û´ØË÷Òý£¬Èç×
Ïà¹ØÎĵµ£º
Use equality first.
ʹÓõÈÁ¬½Ó
Use range operators only where equality does not apply.
Ö»ÓÐÔÚµÈÁ¬½Ó²»¿ÉÓõÄÇé¿öÏÂÊÂÓÉÇø¼äÁ¬½Ó
Avoid use of negatives in the form of !=
or NOT.
±ÜÃâʹÓà £¡= »òÕß not
Avoid LIKE pattern matching.
±ÜÃâʹÓà LIKEÆ¥Åä
Try to retrieve specific rows and in small n ......
´´½¨¹ÍÔ±±í£º
create table emp(deptno number(10),ename varchar2(100),sal number(10,2))£»
²åÈëÊý¾Ý
begin
insert into emp values('10','KING',5000);
insert into emp values('10','CLARK',2450);
insert into emp values('10','MILLER',1300);
insert into emp values('20','SCOTT',3000);
insert into emp v ......
1.²éѯµÄÄ£ºýÆ¥Åä
¾¡Á¿±ÜÃâÔÚÒ»¸ö¸´ÔÓ²éѯÀïÃæÊ¹Óà LIKE '%parm1%'—— ºìÉ«±êʶλÖõİٷֺŻᵼÖÂÏà¹ØÁеÄË÷ÒýÎÞ·¨Ê¹Óã¬×îºÃ²»ÒªÓÃ.
½â¾ö°ì·¨:
ÆäʵֻÐèÒª¶Ô¸Ã½Å±¾ÂÔ×ö¸Ä½ø£¬²éѯËٶȱã»áÌá¸ß½ü°Ù±¶¡£¸Ä½ø·½·¨ÈçÏ£º
a¡¢ÐÞ¸Äǰ̨³ÌÐò——°Ñ²éѯÌõ¼þµÄ¹©Ó¦ÉÌÃû³ÆÒ»À¸ÓÉÔÀ´µÄÎı¾ÊäÈë¸ÄΪÏÂÀÁб ......
Îı¾ nvarchar(n)
±¸×¢ ntext
Êý×Ö(³¤ÕûÐÍ) int
Êý×Ö(ÕûÐÍ) smallint
Êý×Ö(µ¥¾«¶È) real
Êý×Ö(Ë«¾«¶È) float
Êý×Ö(×Ö½Ú) tinyint
»õ±Ò money
ÈÕÆÚ smalldatetime
²¼¶û bit
¸½£º×ª»»³ÉSQLµÄ½Å±¾¡£
ALTER TABLE tb ALTER COLUMN aa Byte Êý×Ö[×Ö½Ú]
ALTER TABLE tb ALTER COLUMN aa Long Êý×Ö[³¤ÕûÐÍ]
ALTER T ......