SQL Server ²éѯÓÅ»¯£¨3£©_Ë÷ÒýµÄÉè¼ÆÓëʹÓÃ
Ò»¡¢Ë÷ÒýµÄ×÷ÓÃ
1¡¢°ïÖú¼ìË÷Êý¾Ý£»
2¡¢Ìá¸ßÁª½ÓЧÂÊ£»
3¡¢½ÚÊ¡ORDER BY¡¢GROUP BYµÄʱ¼ä£»
4¡¢±£Ö¤Êý¾ÝΨһÐÔ£¨½öÏÞÓÚΨһË÷Òý£©¡£
¶þ¡¢Ë÷ÒýµÄÉè¼Æ
ÔÚÈ·¶¨Òª½¨Á¢Ò»¸öË÷Òýʱ£¬Ê×ÏÈÎÒÃÇҪȷ¶¨ËüÊǾۼ¯»¹ÊǷǾۼ¯¡¢µ¥Áл¹ÊǶàÁС¢Î¨Ò»»¹ÊÇ·ÇΨһ¡¢ÁÐÊÇÉýÐò»¹ÊǽµÐò¡¢ËüµÄ´æ´¢ÊÇÈçºÎµÄ£¬±ÈÈ磺·ÖÇø¡¢Ìî³äÒò×ӵȡ£ÏÂÃæÖðÌõÀ´¿´£º
1¡¢¾Û¼¯Ë÷Òý
£¨1£©Ê×ÏÈÖ¸³öÒ»¸öÎóÇø£¬Ö÷¼ü²¢²»Ò»¶¨ÊǾۼ¯Ë÷Òý£¬Ö»ÊÇÔÚSQL SERVERÖУ¬Î´Ã÷È·Ö¸³öµÄÇé¿öÏ£¬Ä¬ÈϽ«Ö÷¼ü¶¨ÒåΪ¾Û¼¯£¬¶øORACLEÖÐÔòĬÈÏÊǷǾۼ¯£¬ÒòΪSQL SERVERÖеÄROWID먦·ÅʹÓá£
£¨2£©¾Û¼¯Ë÷ÒýÊʺÏÓÃÓÚÐèÒª½øÐз¶Î§²éÕÒµÄÁУ¬ÒòΪ¾Û¼¯Ë÷ÒýµÄÒ¶×Ó½Úµã´æ·ÅµÄÊÇÓÐÐòµÄÊý¾ÝÐУ¬²éѯÒýÇæ¿É¸ù¾ÝWHEREÖиø³öµÄ·¶Î§£¬Ö±½Ó¶¨Î»µ½Á½¶ËµÄÒ¶×ӽڵ㣬½«Õⲿ·Ö½ÚµãÒ³µÄÊý¾Ý¸ù¾ÝÁ´±í˳ÐòÈ¡³ö¼´¿É£»
£¨3£©¾Û¼¯Ë÷Òý¾¡Á¿½¨Á¢ÔÚÖµ²»»á·¢Éú±ä¸üµÄÁÐÉÏ£¬·ñÔò»á´øÀ´·Ç¾Û¼¯Ë÷ÒýµÄά»¤£»
£¨4£©¾¡Á¿ÔÚ½¨Á¢·Ç¾Û¼¯Ë÷Òý֮ǰ½¨Á¢¾Û¼¯Ë÷Òý£¬·ñÔò»áµ¼Ö±íÉÏËùÓзǾۼ¯Ë÷ÒýµÄÖؽ¨£»
£¨5£©¾Û¼¯Ë÷ÒýÓ¦¸Ã±ÜÃ⽨Á¢ÔÚÊýÖµµ¥µ÷µÄÁÐÉÏ£¬·ñÔò¿ÉÄÜ»áÔì³ÉIOµÄ¾ºÕù£¬ÒÔ¼°BÊ÷µÄ²»Æ½ºâ£¬´Ó¶øµ¼ÖÂÊý¾Ý¿âϵͳƵ·±µÄά»¤BÊ÷µÄƽºâÐÔ¡£¾Û¼¯Ë÷ÒýµÄÁÐÖµ×îºÃÄܹ»ÔÚ±íÖоùÔÈ·Ö²¼¡£
2¡¢·Ç¾Û½¹Ë÷Òý
£¨1£©·Ç¾Û¼¯Ë÷ÒýÊʺÏÓÃÓÚÐèÒª½øÐеÈÖµ²éÕÒµÄÁУ¬ÒòΪ·Ç¾Û¼¯Ë÷ÒýµÄÒ¶×Ó½Úµã´æ·ÅµÄÊÇÓÐÐòµÄË÷ÒýÁÐÓëÊéÇ©µÄÓ³ÉäÐУ¬²éѯÒýÇæ¿É¸ù¾ÝWHEREÖиø³öµÄÖµ£¬µÃµ½ÊéÇ©£¬¼Ì¶ø¶¨Î»µ½Êý¾ÝÐУ»
£¨2£©¸²¸ÇË÷Òý£¨Covering Index£©£¬ÊǷǾۼ¯Ë÷ÒýµÄÒ»ÖÖÌØÊâÇÒ¸ßЧµÄÓ¦Ó㬾ÍÊǽ«ÐèÒª·µ»ØµÄÊý¾ÝÁÐÉè¼Æ³É×éºÏË÷Òý£¬ÔÚSELECTʱֻ²éѯË÷ÒýÖдæÔÚµÄÊý¾ÝÁУ¬ÕâÑù¾ÍÄÜÐγÉË÷Òý¸²¸Ç£¬ÒòΪË÷ÒýÐÐÖÐÒѾ°üº¬ÁËÏëµ½µÄÊý¾Ý£¬²»ÐèÒªÔÙ½øÐÐÊéÇ©²éÕÒ£»
ÔÚSQL SERVER 2005¼°ÒÔÉÏ°æ±¾ÖУ¬ÌṩÁËINCLUDED¹Ø¼ü×Ö£¬¿ÉÒÔÔڷǾۼ¯Ë÷ÒýÖаüº¬¸ü¶àÁУ¬Ò²ÊǸ²¸ÇË÷ÒýµÄÒ»¸öÓÐЧÒýÉꣻ
£¨3£©·Ç¾Û¼¯Ë÷Òý½¨Á¢ÔÚÖµ¾ßÓе¥µ÷ÐÔµÄÁÐÉÏ£¬±ÈÈ磺×ÔÔöÁУ¨µ¥µ÷µÝÔö£©£¬¿ÉÒÔ¼õÉÙË÷ÒýµÄÍⲿËéƬ¼°Ë÷Òý½á¹¹µÄά»¤£»
3¡¢¸´ºÏË÷Òý
£¨1£©¸´ºÏË÷Òý½¨Á¢ÔÚ¶à¸öÁÐÉÏ¡£ÉÏÃæÒѾ½²¹ý£¬ÔڷǾۼ¯Ë÷ÒýÖУ¬¿ÉÒÔÀûÓø²¸ÇË÷ÒýÀ´Ìá¸ß¼ìË÷µÄЧÂÊ£¬µ«Èç¹û×éºÏË÷ÒýµÄÁÐÌ«¶àµÄ»°£¬ÄÇô¶ÔÓÚÕâ¸öË÷ÒýµÄά»¤³É±¾Ò²»á¼Ó´ó£¬DMLµÄЧÂʽ«»áϽµ£¬¶øÇÒË÷ÒýµÄ²éÕÒ·¾¶»á±ä³¤£»
£¨2£©ÔÚ´´½¨¸´ºÏË÷Òýʱ£¬Ó¦¸Ã½«¸ßÑ¡ÔñÐÔµÄÁзÅÔÚÇ°Ã棬¼´×÷ΪÒýµ¼ÁУ»
4¡¢Î¨Ò»Ë÷Òý
£¨1£©ÔÙÖ¸³öÒ»¸öÎóÇø£¬¾Û¼¯Ë÷Òý²¢²»Ò»¶¨ÊÇÎ
Ïà¹ØÎĵµ£º
create PROC [dbo].[P_viewPage_A]
/*
¸ßЧͨÓ÷ÖÒ³´æ´¢¹ý³Ì(Ë«Ïò¼ìË÷)
¾´¸æ£ºÊÊÓÃÓÚµ¥Ò»Ö÷¼ü»ò´æÔÚΨһֵÁеıí»òÊÓͼ
ps:SqlÓï¾äΪ8000×Ö½Ú,µ÷ÓÃʱÇë×¢Òâ´«Èë²ÎÊý¼°sql×ܳ¤¶È²»Òª³¬¹ýÖ¸¶¨·¶Î§
*/
@TableName VARCHAR(200), --±íÃû
@FieldList VARCHAR(2000), --ÏÔʾÁÐà ......
´æ´¢½ø³Ì¾ÍÊÇ×÷Ϊ¿ÉÖ´ÐжÔÏó´æ·ÅÔÚÊý¾Ý¿âÖеÄÒ»¸ö»ò¶à¸öSQLÃüÁî¡£
¶¨Òå×ÜÊǺܳéÏó¡£´æ´¢½ø³ÌÆäʵ¾ÍÊÇÄÜÍê³ÉÒ»¶¨²Ù×÷µÄÒ»×éSQLÓï¾ä£¬Ö»²»¹ýÕâ×éÓï¾äÊÇ·ÅÔÚÊý¾Ý¿âÖеÄ(ÕâÀïÎÒÃÇ̸ֻSQL SERVER)¡£Èç¹ûÎÒÃÇͨ¹ý´´½¨´æ´¢½ø³ÌÒÔ¼°ÔÚASPÖе÷Óô洢½ø³Ì£¬¾Í¿ÉÒÔ±ÜÃ⽫SQLÓï¾äͬASP´úÂë»ìÔÓÔÚÒ»Æð¡£ÕâÑù×öµÄºÃ´¦ÖÁÉÙÓÐÈý¸ö£º
µÚÒ»¡ ......
ibatis×÷Ϊһ¸öÇáÁ¿¼¶µÄorm¹¤¾ßÏÖÔڷdz£Á÷ÐУ¬ÎÒÔÚʹÓÃÖз¢ÏÖ£¬ÓÐʱ½ö½öÏ£Íû·µ»ØÒ»¸öÀàÐÍΪmapµÄlist¾Í¿ÉÒÔÁË£¬
±ÈÈç¼òµ¥µÄ²éѯͳ¼ÆÖ®ÀàµÄ£¬Ã»ÓбØÒª¶¨ÒåÌ«¶àµÄpojo£¬Òò´ËÏëÄܲ»ÄÜÔÚibatisÖÐÖ±½Ó´«ÈësqlÓï¾äÀ´Ö´ÐУ¬È»ºó·µ»ØmapÄØ£¿
´ÓÍøÉÏËÑÁËһϣ¬»¹ÕæÓУ¬ÊµÑé³É¹¦ºó×ܽáһϣ¬´ó¼Ò¹²Í¬½ø²½¡£ ÆäʵºÜ¼òµ¥£¬¾Í ......
SQL Server 2005 ÖеÄÊý¾ÝÀàÐ͹éÄÉΪÏÂÁÐÀà±ð£º
¾«È·Êý×Ö
Unicode ×Ö·û´®
½üËÆÊý×Ö
¶þ½øÖÆ×Ö·û´®
ÈÕÆÚºÍʱ¼ä
ÆäËûÊý¾ÝÀàÐÍ
×Ö·û´®
ÔÚ SQL Server 2005 ÖУ¬¸ù¾ÝÆä´æ´¢ÌØÕ÷£¬Ä³Ð©Êý¾ÝÀàÐͱ»Ö¸¶¨ÎªÊôÓÚÏÂÁи÷×飺
´óÖµÊý¾ÝÀàÐÍ£ºvarchar(max)¡¢nvarchar(max) ºÍ varbinary(max)
´óÐͶÔÏóÊý¾ÝÀàÐÍ£ºtext¡¢ntext¡¢ima ......
´Ë·½·¨ÊÇ´Óһλǰ±²ÄÇÀïѧÀ´µÄ£¬µ¼Óï¾äºÜ·½±ã£¬Ö»ÐèдÇå³þ±íÃû¾ÍÐС£ÅÂÍüÁË£¬ÔݼÇһϡ££¨sql server 2005ÊÔÑé¹ý£©
µÚÒ»´ÎʹÓõĻ°£¬ÐèÒª½¨Á¢ÈçÏ´洢¹ý³Ì¡£´úÂëºÜ³¤£¬Ã»¹Øϵ£¬Ö±½Ócopy¾ÍÐС£
--------- outputdata ´æ´¢¹ý³Ì
CREATE PROCEDURE dbo.OutputData
@tablename sysname
AS
declare @column va ......