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£©ÔÙÖ¸³öÒ»¸öÎóÇø£¬¾Û¼¯Ë÷Òý²¢²»Ò»¶¨ÊÇÎ
Ïà¹ØÎĵµ£º
Ëæ×ÅB/SģʽӦÓÿª·¢µÄ·¢Õ¹£¬Ê¹ÓÃÕâÖÖģʽ±àдӦÓóÌÐòµÄ³ÌÐòÔ±Ò²Ô½À´Ô½¶à¡£µ«ÊÇÓÉÓÚ³ÌÐòÔ±µÄˮƽ¼°¾ÑéÒ²²Î²î²»Æë£¬Ï൱´óÒ»²¿·Ö³ÌÐòÔ±ÔÚ±àд´úÂëµÄʱºò£¬Ã»ÓжÔÓû§ÊäÈëÊý¾ÝµÄºÏ·¨ÐÔ½øÐÐÅжϣ¬Ê¹Ó¦ÓóÌÐò´æÔÚ°²È«Òþ»¼¡£Óû§¿ÉÒÔÌá½»Ò»¶ÎÊý¾Ý¿â²éѯ´úÂ룬¸ù
¾Ý³ÌÐò·µ»ØµÄ½á¹û£¬»ñµÃijЩËûÏëµÃÖªµÄÊý¾Ý£¬Õâ¾ÍÊÇËùνµÄS ......
ÒÔstring ÀàÐ͵ÄNameΪÀý
ÔÚSQL Óï¾äÀ string sql="Name like'%" + Name.Text + "%';
ÔÚ´æ´¢¹ý³ÌÀ
if @Name!=''
begin
set @strWhere= +' and Name like '''+'%'+@Name+'%'+''''
end
´æ´¢¹ý³ÌÖеÄÒýºÅÊǵ¥ÒýºÅ.
like '''+'%'Öм䲻ÓÃ+Èϲ» ......
ÔÚ¼ÆËã»úÖÐÊý¾ÝÓÐÁ½ÖÖÌØÕ÷£ºÀàÐͺͳ¤¶È¡£ËùνÊý¾ÝÀàÐ;ÍÊÇÒÔÊý¾ÝµÄ±íÏÖ·½Ê½ºÍ´æ´¢·½Ê½À´»®·ÖµÄÊý¾ÝµÄÖÖÀà¡£ÔÚSQL Server ÖÐÿ¸ö±äÁ¿¡¢²ÎÊý¡¢±í´ïʽµÈ¶¼ÓÐÊý¾ÝÀàÐÍ¡£ ÆäÖУ¬BIGINT¡¢ SQL_VARIANT ºÍTABLE ÊÇSQL Server 2000 ÖÐÐÂÔö¼ÓµÄ3 ÖÖÊý¾ÝÀàÐÍ.
Ò»¡¢ ÕûÊýÊý¾ÝÀàÐÍ
&nb ......
using System.Data; // Use ADO.NET namespace
using System.Data.SqlClient;
SqlConnection thisConnection = new SqlConnection(
&nbs ......