¸ßЧSQL²éѯ֮Ë÷Òý£¨V£©
ÏÈÕ¾ÔÚÓ¦ÓóÌÐòµÄ½Ç¶È˵˵ËüÃǵIJ»Í¬¡£
1¡¢ Ö±½ÓÆ´ SQL
¾ÍÏñ´ó¼ÒÁ˽âµÄÄÇÑù£¬Ö±½ÓÆ´ SQL ´øÀ´ÁË SQL ×¢Èë¹¥»÷£¬´øÀ´ÁËÆ´Ê±Ð©ÐíµÄÐÔÄÜËðʧ£¬µ«ÊÇÆ´²»ÓÃÌí¼Ó SqlParameter £¬»áÉÙдºÜ¶à´úÂë——ºÜ¶àÈËϲ»¶Ö±½ÓÆ´£¬Ò²Ðí¾ÍÒòΪÕâµã¡£ÕâÖÖ×ö·¨»á°ÑÄãÆ´ºÃµÄ SQL ÔÑùÖ±½Ó·¢Ë͵½ DB ·þÎñÆ÷È¥Ö´ÐС££¨×¢ÒâÀàËÆ ”exec yourproc ‘param1’, 12” µÄÓï¾ä²»ÔÚ´Ë·¶³ë£¬ÕâÊǵ÷Óô洢¹ý³ÌµÄÒ»ÖÖ·½Ê½£©
2¡¢ ²ÎÊý»¯ SQL
ËùνµÄ“²ÎÊý»¯ SQL ”¾ÍÊÇÔÚÓ¦ÓóÌÐò²àÉèÖà SqlCommand.CommandText µÄʱºòʹÓòÎÊý£¨È磺 @param1 £©£¬È»ºóͨ¹ý SqlCommand.Parameters.Add À´ÉèÖÃÕâЩ²ÎÊýµÄÖµ¡£ÕâÖÖ×ö·¨»á°ÑÄã×¼±¸ºÃµÄÃüÁîͨ¹ý sp_executesql ϵͳ´æ´¢¹ý³ÌÀ´Ö´ÐС£Í¨¹ý²ÎÊý»¯ SQL £¬ºÍÖ±½ÓÆ´ SQL Ïà±È£¬×îÖ±½ÓµÄºÃ´¦¾ÍÊÇûÓÐ SQL ×¢Èë¹¥»÷ÁË¡£
3¡¢ µ÷Óô洢¹ý³Ì
Ö±½Óµ÷Óô洢¹ý³ÌÆäʵºÍ²ÎÊý»¯ SQL ·Ç³£ÏàËÆ¡£Î¨Ò»µÄ±¾Öʲ»Í¬ÔÚÓÚÄã·¢Ë͵½ DB ·þÎñÆ÷µÄÖ¸Áî²»ÔÙÊÇ sp_executesql £¬¶øÊÇÖ±½ÓµÄ´æ´¢¹ý³Ìµ÷ÓöøÒÑ¡£
ºÜ¶àÈ˷dz£·Ç³£Ñá¶ñÔÚÓ¦ÓóÌÐòÖÐʹÓô洢¹ý³Ì£¬¶øÄþԸʹÓÃÆ´ SQL »òÕß²ÎÊý»¯ SQL £¬ÀíÓÉÊÇËüÃÇÌṩÁ˸üºÃµÄÁé»îÐÔ——Õâ¸öÀíÓÉÆäʵ·Ç³£·Ç³£µÄ·¢Ö¸£¨°³ÏÖÔÚϲ»¶ÉÏÕâ¸ö´ÊÁË£©¡£
ÏÖÔÚ×öÉè¼Æ£¬Ò»°ã¶¼ÊÇ´ÓÉϵ½ÏÂÀ´£¬ÖØÐͼÔÚÒµÎñÂß¼ÉÏ¡£´«ËµÖеÄÁìÓòÄ£ÐÍÉè¼ÆÍ꣬²âÊÔÓÃÀý¶¼Í¨¹ýÖ®ºó£¬²Å»á¿¼ÂÇÊý¾Ý³Ö¾Ã»¯·½Ê½¡£Êý¾Ý³Ö¾Ã»¯ÊÇϵͳµÄÒ»²¿·Ö£¬µ«¾ø¶Ô²»ÊÇ×îÖØÒªµÄ²¿·Ö£¬Éè¼ÆÓ¦¸ÃÎ§ÈÆÒµÎñÂß¼¿ªÕ¹£¬³Ö¾Ã»¯Ó¦¸Ã½ö½öÊǸö¸½¼þ¡£ÖÁÉÙ£¬¸ß²ãÓ¦ÓÃÓ¦¸Ã¾¡¿ÉÄܵIJ»¹ØÐÄ´¦ÓÚ×îµ×²ãµÄÎïÀí´æ´¢½á¹¹£¨È磺±í£©ºÍÊý¾Ý³Ö¾Ã¡¢·´³Ö¾Ã·½Ê½£¨ÊÇÆ´ SQL »¹ÊÇ´æ´¢¹ý³Ì£©£¬ËùÒÔÓò»Óô洢¹ý³Ì¸ù±¾²»ÖØÒª¡£ºÜ¶àÈ˺¦Å´洢¹ý³Ì£¬ÆäʵÊǺ¦Å´洢¹ý³ÌÖаüÀ¨ÒµÎñÂß¼——ÕæÊµÇé¿öÊÇ£¬Èç¹û´æ´¢¹ý³ÌÖаüº¬ÁËÒµÎñÂß¼£¬ÄÇÒ»¶¨×î³õÐèÇó·ÖÎö²»¹»µ¼ÖÂÓÃÀýÌáÈ¡²»×㣬µ¼Ö²âÊÔÓÃÀý¸²¸Ç²»¹»£¬µ¼ÖÂÁìÓòÄ£ÐÍÉè¼Æ²»³ä·Ö£¬Òª²»¾ÍÊÇ͵ÀÁ¡£
=====
Õ¾ÔÚ DB ½Ç¶ÈÌÖÂÛËüÃǵIJ»Í¬£¬Ö÷Òª´Ó cpu ¡¢ÄÚ´æ·½ÃæÀ´¿¼ÂÇ£¬ÆäËûÖîÈ簲ȫÐÔ£¬ msdn É϶¼ÓУ¬ google Ò²ÄÜÄõ½Ò»¶Ñ×ÊÁÏ£¬²»ÔÙ׸Êö¡£
Ê×ÏÈÊDzéѯ¼Æ»®¡£
SQL ±àÒëÍêÒ»Ìõ SQL Ö®ºó£¬»á°ÑËü»º´æÆðÀ´£¨¿ÉÒÔͨ¹ý sys.syscacheobjects ϵͳÊÓͼ²é¿´£©£¬ÒÔºóÔÙÓÐÏàͬµÄ²éѯ¹ýÀ´£¨×¢Òâ sys.syscacheobjects ÊÓͼÖÐµÄ sql ×ֶΣ¬ºÍËü´æ´¢µÄ¶«Î÷ÍêȫһÑù²ÅÄܳÆÎª&
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom× ......
SQL code
ÈÎÎñµ÷¶È
ÆóÒµ¹ÜÀíÆ÷
--¹ÜÀí
--SQL Server´úÀí
--ÓÒ¼ü×÷Òµ
--н¨×÷Òµ
--"³£¹æ"ÏîÖÐÊäÈë×÷ÒµÃû³Æ
--"²½Öè"Ïî
--н¨
--"²½ÖèÃû"ÖÐÊäÈë²½ÖèÃû
--"ÀàÐÍ"ÖÐÑ¡Ôñ"Transact-SQL ½Å±¾(TSQL)"
--"Êý¾Ý¿â"Ñ¡ÔñÖ´ÐÐÃüÁîµÄÊý¾Ý¿â
--"ÃüÁî"ÖÐÊäÈëÒªÖ´ÐеÄÓï¾ä:
insert b.dbo.tablename ......
1 --ÏÂÃæµÄ´úÂëÉú³É³¤¶ÈΪ8µÄ±àºÅ£¬±àºÅÒÔBH¿ªÍ·£¬ÆäÓà6λΪÁ÷Ë®ºÅ¡£
2 --µÃµ½Ð±àºÅµÄº¯Êý
3 CREATE FUNCTION f_NextBH()
4 RETURNS char(8)
5 AS
6 BEGIN
7 RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) from tb WITH(XLOCK,PAGLOCK))
8 END
9 GO
10
11 --ÔÚ±íÖÐ ......
ÎÒÃÇÏÈ¿´ NestedLoop ºÍ MergeJoin µÄËã·¨£¨ÒÔÏÂΪÒýÓ㬼û RicCC µÄ¡¶ ͨÍùÐÔÄÜÓÅ»¯µÄÌìÌà - µØÓü JOIN ·½·¨ËµÃ÷ ¡· ):
==================================
NestedLoop:
foreach rowA in tableA where tableA.col2=?
{
search rowsB from tableB where tab ......