Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

MS SQL ²éѯÁª½ÓÔËËãϵÁУ­£­¹þÏ£Áª½Ó£¨Hash Join)

¹þÏ£Áª½ÓÊǵÚÈýÖÖÎïÀíÁª½ÓÔËËã·û£¬µ±Ëµµ½¹þÏ£Áª½Óʱ£¬ËüÊÇÈýÖÖÁª½ÓÔËËãÖÐÐÔÄÜ×îºÃµÄ£®Ç¶Ì×Ñ­»·Áª½ÓÊÊÓÃÓÚÏà¶Ô½ÏСµÄÊý¾Ý¼¯£¬¶øºÏ²¢Áª½ÓÊÊÓÃÓÚÖеȹæÄ£µÄÊý¾Ý¼¯£¬¶ø¹þÏ£Áª½ÓÔòÊÊÓÃÓÚ´ó¹æÄ£Áª½ÓµÄÊý¾Ý¼¯£®
¹þÏ£Áª½ÓËã·¨²ÉÓ㢹¹½¨£¢ºÍ£¢Ì½²â£¢Á½²½À´Ö´ÐУ®ÔÚ£¢¹¹½¨£¢½×¶Î£¬ËüÊ×ÏÈ´ÓµÚÒ»¸öÊäÈëÖжÁÈ¡ËùÓÐÐУ¨³£½Ð×ö×ó»ò¹¹½¨ÊäÈ룩ÔÚÏàµÈÁª½Ó¼üÉ϶ÔÕâЩÐнøÐйþ
Ï££¬È»ºóÔÚÄÚ´æÖд´½¨¹þÏ£±í£¬ÔÚ£¢Ì½²â£¢½×¶Î£¬´ÓµÚ¶þ¸öÊäÈëÖжÁÈ¡ËùÓÐÐУ¨³£½Ð×öÓÒÖÐ̽²âÊäÈ룩ÔÚÏàµÄµÈÖµÁª½Ó¼üÉ϶ÔÕâЩÐнøÐйþÏ££¬²éÕÒ¿É̽²â¸Ã¹þÏ£±í
ÖÐÆ¥ÅäµÄÐУ®
ÏÂÃæÊÇα´úÂëÃèÊö£º
for each row R1 in the build table
begin
calculate hash value on R1 join key(s)
insert R1 into the appropriate hash bucket
end
for each row R2 in the probe table
begin
calculate hash value on R2 join key(s)
for each row R1 in the corresponding hash bucket
if R1 joins with R2
output (R1, R2)
end
ʾÀý£º
´´½¨±í¶ÔÏó¼Ü¹¹£º
create table T1 (a int, b int, x char(200))
create table T2 (a int, b int, x char(200))
create table T3 (a int, b int, x char(200))
set nocount on
declare @i int
set @i = 0
while @i < 1000
begin
insert T1 values (@i * 2, @i * 5, @i)
set @i = @i + 1
end
GO
declare @i int
set @i = 0
while @i < 10000
begin
insert T2 values (@i * 3, @i * 7, @i)
set @i = @i + 1
end
GO
declare @i int
set @i = 0
while @i < 100000
begin
insert T3 values (@i * 5, @i * 11, @i)
set @i = @i + 1
end
GO
ÏÖÔÚÖ´ÐÐÒÔϲéѯ£º
set statistics profile on
select *
from T1 join T2 on T1.a = T2.a
set statistics profile off
Ö´ÐÐÉÏÊö²éѯµÃµ½Èçϲéѯ¼Æ»®£º
[img=550,189 alt=]http://www.haixiait.com/attachments/month_0804/v200841125633.JPG[/img]

´ÓÊä³öÐÅÏ¢Á˽⵽£¬T2±íÊÇT1±íµÄ£±£°±¶£¬¶ø²éѯÓÅ»¯Æ÷ÔòÑ¡ÔñT1±í×÷Ϊ£¢¹¹½¨£¢±í£¬T2±í×÷Ϊ£¢Ì½²â£¢±í£®
ÏÂÃæÀ´¿´Ò»ÏÂÈý¸ö±íµÄÁª½Ó£º
set statistics profile on
select *
from (T1 join T2 on T1.a = T2.a)
join T3 on T1.b = T3.a
set statistics profile off
Ö´ÐÐÉÏÊö²éѯµÃµ½Èçϼƻ®£º  
[img=550,191 alt=]http://www.haixiait.com/attachm


Ïà¹ØÎĵµ£º

³£ÓÃSQLÓï¾ä£¨Oracle£©(ת)

ORACLEÖÐ×ֶεÄÊý¾ÝÀàÐÍ
   ×Ö·ûÐÍ    char        ·¶Î§  ×î´ó2000¸ö×Ö½Ú ¶¨³¤
               char(10)   'ÕÅÈý' ºóÌí¿Õ¸ñ6¸ö°Ñ10¸ö×Ö½Ú²¹Âú  'ÕÅÈý &nb ......

sql 2000 ¸´ÖƱí

SQLÓï¾äʵÏÖ£¬SQL Server 2000 ¼°ACCESS¸´ÖƾɱíOldTableµÄ½á¹¹£¬»ò½á¹¹¼°ÄÚÈݵ½ÐµıíNewTable
Á½¸ö¶¼ÊÔ¹ýÁË£¬ÏÂÃæµÄ´úÂëÔÚÕâÁ½¸öÊý¾Ý¿âÖУ¨SQL Server 2000 ¼°ACCESS£©¶¼ÊÇ¿ÉÒÔͨ¹ýµÄ¡£
--¸´ÖƱí½á¹¹ÎªÐµıí
select * into NewTable
from OldTable where 1=2
--¸´ÖƱí½á¹¹¼°ÄÚÈݵ½Ðµıí
select * into newtable ......

SQL ServerÖÐRollup¹Ø¼ü×ÖʹÓü¼ÇÉ

Ê×ÏÈ´´½¨²âÊÔ±í¡¢Ìí¼ÓÊý¾Ý¡£
create table #t(a int,b int,c int,d int,e int)
insert into #t values(1,2,3,4,5)
insert into #t values(1,2,3,4,6)
insert into #t values(1,2,3,4,7)
insert into #t values(1,2,3 ......

How To Use Dynamic Sql in Sql Server ?

How To Use Dynamic Sql in Sql Server ?
 
¶¯Ì¬SQL ÔÚsql server ProcedureÖеÄÓ¦ÓÃ
 
 
Create PROCEDURE [dbo].[Proc_Get_Serial_No]
        (
         @Table_Name varchar(20),
      ......

PowerDesignerÉú³ÉSQL½Å±¾Ê±±íÃû¡¢×Ö¶ÎÃû´øÒýºÅÎÊÌâ

 
 
 
PowerDesignerÉú³ÉSQL½Å±¾Ê±±íÃû¡¢×Ö¶ÎÃû´øÒýºÅÎÊÌâ
 
    Ê¹ÓÃPowerDesignerÉú³ÉÊý¾Ý¿â½Å±¾Ê±£¬±íÃûÒ»°ã»á´øÒýºÅ¡£ÈçÏ£º
¼ÓÒýºÅÊÇPL/SQLµÄ¹æ·¶£¬Êý¾Ý¿â»áÑϸñ°´ÕÕ“”ÖеÄÃû³Æ½¨±í£¬Èç¹ûûÓГ”£¬»á°´ÕÕORACLEĬÈϵÄÉèÖý¨±í£¬Ä¬ÈÏÊÇÈ«²¿´óд£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ