SQL ÓÅ»¯¼¼ÇÉ
1 ±ÜÃâÎ޼ƻ®µÄÈ«±íɨÃè
ÈçÏÂÇé¿ö½øÐÐÈ«±íɨÃ裺
- ¸Ã±íÎÞË÷Òý
- ¶Ô·µ»ØµÄÐÐÎÞÈ˺ÍÏÞÖÆÌõ¼þ£¨ÎÞWhere×Ӿ䣩
- ¶ÔÓÚË÷ÒýÖ÷ÁУ¨Ë÷ÒýµÄµÚÒ»ÁУ©ÎÞÏÞÖÆÌõ¼þ
- ¶ÔË÷ÒýÖ÷ÁеÄÌõ¼þº¬ÔÚ±í´ïʽÖÐ
- ¶ÔË÷ÒýÖ÷ÁеÄÏÞÖÆÌõ¼þÊÇis (not) null»ò!=
- ¶ÔË÷ÒýÖ÷ÁеÄÏÞÖÆÌõ¼þÊÇlike²Ù×÷ÇÒÖµÊÇÒ»¸öbind variable»ò%´òÍ·µÄÖµ
2 ֻʹÓÃÑ¡ÔñÐÔË÷Òý
Ë÷ÒýµÄÑ¡ÔñÐÔÊÇÖ¸Ë÷ÒýÁÐÖв»Í¬ÖµµÃÊýÄ¿ºÍ±êÖ¾ÖмǼÊýµÄ±È£¬Ñ¡ÔñÐÔ×îºÃµÄÊÇ·Ç¿ÕÁеÄΨһË÷ÒýΪ1.0¡£
¸´ºÏË÷ÒýÖÐÁеĴÎÐòµÄÎÊÌ⣺
1 ÔÚÏÞ¶¨Ìõ¼þÀï×îÆµ·±Ê¹ÓõÄÁÐÓ¦¸ÃÊÇÖ÷ÁÐ
2 ×î¾ßÓÐÑ¡ÔñÐÔµÄÁУ¨¼´×îÇåÎúµÄÁУ©Ó¦¸ÃÊÇÖ÷ÁÐ
Èç¹û1ºÍ2 ²»Ò»Ö£¬¿ÉÒÔ¿¼Âǽ¨Á¢¶à¸öË÷Òý¡£
ÔÚ¸´ºÏË÷ÒýºÍ¶à¸öµ¥¸öË÷ÒýÖÐ×÷Ñ¡Ôñ£º
¿¼ÂÇÑ¡ÔñÐÔ ¿¼ÂǶÁÈ¡Ë÷ÒýµÄ´ÎÊý ¿¼ÂÇAND-EQUAL²Ù×÷
3 ¹ÜÀí¶à±íÁ¬½Ó£¨Nested Loops, Merge JoinsºÍHash Joins£© ÓÅ»¯Áª½Ó²Ù×÷
Merge JoinsÊǼ¯ºÏ²Ù×÷ Nested LoopsºÍHash JoinsÊǼǼ²Ù×÷·µ»ØµÚÒ»Åú¼Ç¼ѸËÙ
Merge JoinsµÄ²Ù×÷ÊÊÓÃÓÚÅú´¦Àí²Ù×÷£¬¾Þ´ó±í ºÍÔ¶³Ì²éѯ
1È«±íɨÃè --¡µ 2ÅÅÐò --¡µ3±È½ÏºÍºÏ²¢ ÐÔÄÜ¿ªÏúÖ÷ÒªÔÚǰÁ½²½
ÊÊÓÃÈ«±íɨÃèµÄÇéÐΣ¬¶¼ÊÊÓÃMerge Joins²Ù×÷£¨±ÈNested LoopsÓÐЧ£©¡£
¸ÄÉÆ1µÄЧÂÊ£º ÓÅ»¯I/O£¬ Ìá¸ßʹÓÃORACLE¶à¿é¶ÁµÄÄÜÁ¦£¬ ʹÓò¢ÐвéѯµÄÑ¡Ïî
¸ÄÉÆ1µÄЧÂÊ£ºÌá¸ßSort_Area_SizeµÄÖµ£¬ ʹÓÃSort Direct Writes£¬ÎªÁÙʱ¶ÎÌṩרÓñí¿Õ¼ä
4 ¹ÜÀí°üº¬ÊÓͼµÄSQLÓï¾ä
ÓÅ»¯Æ÷Ö´Ðаüº¬ÊÓͼµÄSQLÓï¾äÓÐÁ½ÖÖ·½·¨£º
- ÏÈÖ´ÐÐÊÓͼ£¬Íê³ÉÈ«²¿µÄ½á¹û¼¯£¬È»ºóÓÃÆäÓàµÄ²éѯÌõ¼þ×÷¹ýÂËÆ÷Ö´Ðвéѯ
- ½«ÊÓͼÎı¾¼¯³Éµ½²éѯÀïÈ¥
º¬ÓÐgroup by×Ó¾äµÄÊÓͼ²»Äܱ»¼¯³Éµ½Ò»¸ö´óµÄ²éѯÖÐÈ¥¡£
ÔÚÊÓͼÖÐʹÓÃunion£¬²»×èÖ¹ÊÓͼµÄSQL¼¯³Éµ½²éѯµÄÓï·¨ÖÐÈ¥¡£
5 ÓÅ»¯×Ó²éѯ
6 ʹÓø´ºÏKeys/S
Ïà¹ØÎĵµ£º
Ò»°ãÓÃBCPÔÚ´¦ÀíÕâ¸öÊÂÇ飬µ«ÓÐʱҲÐèÒªÒ»Ð©ÌØÊâµÄ´¦Àí£¬ÒÔÏÂÊÇÉú³É±íÖеÄһЩÊý¾Ý£¬´øÓÐwhereÌõ¼þµÄÑ¡ÔñÉú³ÉÊý¾Ý£¬ÊÇÎÒÒ»¸öͬÊÂÐ޸ĵģ¬Ö±½ÓÄùýÀ´ÓÃÁË£º
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
Create Proc proc_insert_where (@tablename varchar(256),@where varchar(256 ......
ÄãÊÇ·ñÔÚǧ·½°Ù¼ÆÓÅ»¯SQL Server Êý¾Ý¿âµÄÐÔÄÜ?Èç¹ûÄãµÄÊý¾Ý¿âÖк¬ÓдóÁ¿µÄ±í¸ñ£¬°ÑÕâЩ±í¸ñ·ÖÇø·ÅÈë¶ÀÁ¢µÄÎļþ×é¿ÉÄÜ»áÈÃÄãÊÜÒæ·Ëdz¡£SQL Server 2005ÒýÈëµÄ±í·ÖÇø¼¼Êõ£¬ÈÃÓû§Äܹ»°ÑÊý¾Ý·ÖÉ¢´æ·Åµ½²»Í¬µÄÎïÀí´ÅÅÌÖУ¬Ìá¸ßÕâЩ´ÅÅ̵IJ¢Ðд¦ÀíÐÔÄÜÒÔÓÅ»¯²éѯÐÔÄÜ¡£
¡¡¡¡SQL ServerÊý¾Ý¿â±í·ÖÇø²Ù×÷¹ý³ÌÓÉÈý¸ö²½Öè×é³É£º
¡ ......
drop table father;
create table father(
id int identity(1,1) primary key,
name varchar(20) not null,
age int not null
)
drop table mother;
create table mother(
id int identity(1,1),
name varchar(20) not null,
age int not null,
husban ......
--1.¹ØÓÚwhereɸѡÆ÷ÖгöÏÖÖ¸¶¨ÐÇÆÚ¼¸µÄÇó½â
SQL code
--»·¾³
create table test_1
(
id int,
value varchar(10),
t_time datetime
)
insert test_1
select 1,'a','2009-04-19' union
select 2,'b','2009-04-20' union
select 3,'c','2009-04-21' union
select 4,'d','2009-04-22' union
s ......