Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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³£ÓÃÓï¾ä

use myoa
select * from
delete from department where departmentid=1
insert Department(DepartmentId,DepartmentName) values(1,'¼¼Êõ²¿')
update Department set departmentname='ÐÅÏ¢¼¼Êõ²¿' where departmentid=1
--ɾ³ý±í
drop table department
--ɾ³ýÊý¾Ý¿â
drop database bai
--ͳ¼ÆÊý¾Ý¿â±íÖмǼ
se ......

Êý¾Ý¿â»ù±¾ SQLÓï¾ä´óÈ«

ѧ»áÊý¾Ý¿âÊǺÜʵÓÃD~~¼Ç¼һЩ³£ÓõÄsqlÓï¾ä...ÓÐÈëÃÅÓÐÌá¸ßÓмû¶¼Ã»¼û¹ýµÄ...ºÃÈ«...ÊÕ²ØÏÂ...
Æäʵһ°ãÓõľÍÊDzéѯ,²åÈë,ɾ³ýµÈÓï¾ä¶øÒÑ....µ«Ñ§Ñ§´æ´¢¹ý³ÌÊǺÃÊÂ...ÒÔºóÊý¾Ý·½ÃæµÄ¶«Î÷¾Í²»ÓÃÔÚ³ÌÐòÀï¸ãà¶..¶øÇÒ³ÌÐòÓëÊý¾Ý¿âÖ»ÒªÒ»¸öÀ´»ØÍ¨Ñ¶¾Í¿ÉÒԸ㶨ËùÓÐÊý¾ÝµÄ²Ù×÷....
Ò»¡¢»ù´¡
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
Create DAT ......

sql group by Óë havingµÄÓ÷¨

1. GROUP BY ÊÇ·Ö×é²éѯ, Ò»°ã GROUP BY ÊǺ;ۺϺ¯ÊýÅäºÏʹÓÃ
group by ÓÐÒ»¸öÔ­Ôò,¾ÍÊÇ select ºóÃæµÄËùÓÐÁÐÖÐ,ûÓÐʹÓþۺϺ¯ÊýµÄÁÐ,±ØÐë³öÏÖÔÚ group by ºóÃæ£¨ÖØÒª£©
ÀýÈç,ÓÐÈçÏÂÊý¾Ý¿â±í£º
A    B
1    abc
1    bcd
1    asdfg
 Èç¹ûÓÐÈ ......

[Sql Server2008]Ê÷½á¹¹µÄµÝ¹éËã·¨

±¾ÎÄÖ÷Òª½²ÊöÈý¸öÄÚÈÝ£º
1.ÈçºÎ´´½¨hierarychyidµÄ±í£¬²åÈëÊý¾Ý¼°»ù±¾µÝ¹é²éѯ¡£
2.½éÉÜhierarchyidµÄ10ÖÖרÓк¯Êý¡£
3.½éÉÜhierarchyidÌØÓеÄÉî¶ÈÓÅÏÈË÷Òý(Depth-First Indexing)ºÍ¹ã¶ÈÓÅÏÈË÷Òý(Breadth-First Indexing)
ÔÚÉÏÒ»½ÚÖÐ
http://blog.csdn.net/tjvictor/archive/2009/07/30/4395677.aspx
ÎÒÃÇÒѾ­ÑÝ ......

LINQ to Entities ʵÏÖsql ¹Ø¼ü×Ö"In"·½Ê½×ܽá

ÔÚLINQ to EntitiesÖÐûÓа취ÔÙÏñ LINQ to SQL ÖÐÒ»ÑùʹÓà Contains µÄ·½·¨À´ÊµÏÖsql "in" ¹Ø¼ü×Ö
ÏÂÃæ´úÂëÔÚ LINQ to SQL ÖпÉÐÐ ÔÚLINQ to EntitiesÈ´ÎÞ·¨ÔËÐУº 
var s = db.Account.Select(c => c.ID);
var ret =(from t in db.Profile
 where&n ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ