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

LINQ to SQL ÐÔÄÜ 10 Tips


LINQ to SQL ÐÔÄÜ 10 Tips
http://www.cnblogs.com/worksguo/archive/2008/06/04/1213075.html
ǰһÖÜ£¬ÎÒµÄÓ²ÅÌÓÐÁ½·ÖÇø»µÁË£¬ÎÒ×¼±¸µÄÎÄÕÂÓë×ÊÁ϶¼ÔÚÀïÃæ£¬ËùÒÔLINQµÄÎÄÕÂÍ£ÁËÒ»¶Îʱ¼ä£¬ÕæµÄÌ«²»ºÃÀ­£¬ÎªÀ´ÃÖ²¹Ò»Ï¾ÍÏÈ·¢ÕâÆªÎÄÕÂÉÏÀ­£¬Ã÷ÌìÔÙһƪ¹ØÓÚDisconnection DataµÄÎÄÕ¡£
Ö»²»¹ýÐҺã¬ÔÚÕ⼸ÌìÖÐÎҽ߾¡È«Á¦»Ö¸´ÕâЩÊý¾Ý£¬¾­¹ý3ÌìµÄŬÁ¦ÖÕÓÚÊÇÈ«²¿ÕÒ»ØÀ´À­¡£
ÏÂÃæÊÇһЩÌÖÂÛLINQ to SQLÐÔÄÜһЩÎÄÕ¡£
http://blogs.msdn.com/ricom/archive/2007/06/22/dlinq-linq-to-sql-performance-part-1.aspx
http://www.jdconley.com/blog/archive/2007/11/28/linq-to-sql-surprise-performance-hit.aspx
"LINQ Changes How You Will Program" by Bill McCarthy.
"Layer Data Access with LINQ to SQL" by Roger Jennings.
1:¹Ø±ÕOjectTrackingEnabledÊôÐÔ.
Èç¹ûÄãÖ»ÊÇÕÒ»ØÊý¾Ý,²¢ÇÒ²»ÐÞ¸ÄÈκζ«Î÷,Äã²»ÐèÒªobjectTracking,ËùÓоÍÏñÏÂÃæÒ»Ñù:
using (NorthwindDataContext context = new NorthwindDataContext())
{
  context.ObjectTrackingEnabled = false;
}
2:²»Òª½«ÄãµÄËùÓÐDB Object¶¼·ÅÈëµ¥¸öDataContextÖÐ.
DataContext±íʾһ¸öµ¥¶ÀµÄ¹¤×÷µ¥Ôª,¶ø²»ÊÇÄãÊý¾Ý¿âÈ«²¿.ÈçÈôÄãÓжà¸öûÓÐÁ¬½ÓµÄÊý¾Ý¿â¶ÔÏó,»òËûÃÇûÓб»Ê¹ÓÃ.ÕâЩ¶ÔÏó¾Í²»ÐèÒªÌí¼Ó½øÄÚ´æÖеıêʶ¹ÜÀíÖÐÏûºÄµÄÄÚ´æ¿Õ¼äºÍÔÚDataContextµÄCUD engine¸ú×Ù¶ÔÏóµÄ»¨·Ñ.
ÎÒ½¨ÒéÄ㽫ÄãµÄ¹¤×÷Êý¾ÝÇøÓò·Ö¸î¼¸¸öDataContexts,ÿһ¸öÇøÓò±íʾһ¸öµ¥¶ÀµÄʹÓÃÊý¾ÝµÄ¹¤×÷µ¥Ôª.Ä㻹ÊÇÄÜʹÓÃͬһ¸öÁ¬½Ó.
3:²»ÒªÊ¹Óà CompiledQuery
µ±Äã´´½¨ºÍÖ´ÐÐÄãµÄ²éѯ,´Óexpressionµ½ÏàÓ¦µÄSQL,Óм¸¸ö²½Öè:
   1.
      Create expression tree(´´½¨±í´ïÊ÷)
   2.
      Convert it to SQL(ת»»SQL)
   3.
      Run the query(ÔËÐвéѯ)
   4.
      Retrieve the data(ÕÒ»ØÊý¾Ý)
   5.
      Convert it to the objects(ת»»Îª¶ÔÏó)
Äã×¢Òâ:µ±ÄãʹÓÃÒ»´ÎÒ»´ÎʹÓÃͬһ¸ö²éѯʱ,µÚÒ»ºÍµÚ¶þ²½ÊÇ×îºÄ·Ñʱ¼ä.
ÕâÀïÒªÉÙʹÓÃÓÃÀ´CompiledQueryµÄÔÚSystem.Data.Linq ÃüÃû¿Õ¼äÖеÄÀà,ʹÓÃCompiledQuery,ÄãÒ»´Î±àÒëÄãµÄ²éѯ²¢ÇÒ´æ´¢ËüÔÚÖ®ºóʹÓõĵط


Ïà¹ØÎĵµ£º

ÈçºÎдÓÐЧÂʵÄSQL²éѯ


[×ªÔØ]http://www.cnblogs.com/cn_wpf/£¬·Ç³£¸ÐлNineteen@newsmth µÄ·Ö·ÖÏí¡£ 
дÓÐЧÂʵÄSQL²éѯ£¨I£©
´óÐÍϵͳµÄÉú²ú»·¾³£¬Ò»°ãÇé¿öÏ£¬ÎÒÃÇÆÀ¼ÛÒ»Ìõ²éѯÊÇ·ñÓÐЧÂÊ£¬¸ü¶àµÄÊǹØ×¢Âß¼­IO(ÖÁÓÚΪʲô£¬»ØÍ·²¹Ò»Æª)¡£ÎÒÃdz£Ëµ£¬“Òª½¨±ëº·µÄË÷Òý”¡¢“Ҫд¸ßЧµÄSQL”£¬Æäʵ×îÖÕÄ¿µÄ¾ÍÊÇÔÚÏà ......

SQLʱ¼äº¯Êý

--ÈÕÆÚת»»²ÎÊý,ÖµµÃÊÕ²Ø
select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')20040912110608
select CONVERT(varchar(12) , getdate(), 111 )2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )20040912 ......

SQLÓÅ»¯¹¤¾ßLecco SQL Expert For Oracle

ÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracle HINTµÄÓ÷¨£º
1. /*+ALL_ROWS*/ 
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯. 
ÀýÈç: 
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT'; 
2. /*+FIRST_ROW ......

¡¾Õª¡¿´æ´¢¹ý³Ì±È½Ï¶¯Ì¬SQLµÄÓŵãÔÚÄÄÀï

´æ´¢¹ý³Ì¸ú¶¯Ì¬sqlÏà±ÈÓÐÈçÏÂÓŵ㣺
1¡¢ ´æ´¢¹ý³ÌÔÊÐí±ê×¼×é¼þʽ±à³Ì
´æ´¢¹ý³ÌÔÚ±»´´½¨ÒÔºó¿ÉÒÔÔÚ³ÌÐòÖб»¶à´Îµ÷Óöø²»±ØÖØÐ±àд¸Ã´æ´¢¹ý³ÌµÄSQL
Óï¾ä¶øÇÒÊý¾Ý¿âרҵÈËÔ±¿ÉËæÊ±¶Ô´æ´¢¹ý³Ì½øÐÐÐ޸ĵ«¶ÔÓ¦ÓóÌÐòÔ´´úÂëºÁÎÞÓ°ÏìÒò
ΪӦÓóÌÐòÔ´´úÂëÖ»°üº¬´æ´¢¹ý³ÌµÄµ÷ÓÃÓï¾ä´Ó¶ø¼«´óµØÌá¸ßÁ˳ÌÐòµÄ¿ÉÒÆÖ²ÐÔ
2 ¡¢´æ´¢¹ý³Ì ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ