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

SQLServerË÷Òýµ÷ÓÅʵ¼ù(2) Ë÷Òý¸²¸Ç

¼ÌÐøSQLServerË÷Òýµ÷ÓÅʵ¼ù¡£Õâ´Î̽ÌÖÒ»ÏÂË÷Òý¸²¸Ç - SQL ServerÖ÷ҪʹÓÃË÷ÒýÈ¥²éѯÄãÐèÒªµÄÊý¾Ý£¬µ±Ë÷Òý°üÀ¨ËùÓеÄÄãÇëÇó²éѯµÄ×ֶΣ¬SQL Server½«²»ÐèҪȥÔÚ±íÖвéѯ¡£Õâ¸ö¸ÅÄî³Æ×ö“Ë÷Òý¸²¸Ç”¡£
SQLServer2005µÄNon-clustered INDEXÔö¼ÓÁËÒ»¸ö“°üº¬ÁÐ(included column)
”Ñ¡Ïî¡£ÔÚ SQL Server 2005
ÖУ¬¿ÉÒÔͨ¹ý½«·Ç¼üÁÐÌí¼Óµ½·Ç¾Û¼¯Ë÷ÒýµÄÒ¶¼¶±ðÀ´À©Õ¹·Ç¾Û¼¯Ë÷ÒýµÄ¹¦ÄÜ¡£Í¨¹ý°üº¬·Ç¼üÁУ¬¿ÉÒÔ´´½¨¸²¸Ç¸ü¶à²éѯµÄ·Ç¾Û¼¯Ë÷Òý¡£µ±²éѯÖеÄËùÓÐÁж¼×÷Ϊ¼üÁÐ
»ò·Ç¼üÁаüº¬ÔÚË÷ÒýÖÐʱ£¬´øÓаüº¬ÐԷǼüÁеÄË÷Òý¿ÉÒÔÏÔÖøÌá¸ß²éѯÐÔÄÜ¡£ÕâÑù¿ÉÒÔʵÏÖÐÔÄÜÌáÉý£¬ÒòΪ²éѯÓÅ»¯Æ÷¿ÉÒÔÔÚË÷ÒýÖÐÕÒµ½ËùÓÐÁÐÖµ£»²»·ÃÎʱí»ò¾Û¼¯
Ë÷ÒýÊý¾Ý£¬´Ó¶ø¼õÉÙ´ÅÅÌ I/O ²Ù×÷¡£
µ«Ó¦±ÜÃâÌí¼Ó²»±ØÒªµÄÁС£Ìí¼Ó¹ý¶àµÄË÷ÒýÁУ¨¼üÁлò·Ç¼üÁУ©»á¶ÔÐÔÄܲúÉú²»Á¼Ó°Ï죬Ӧ¸ÃºÏÀíʹÓ᣺ÍClustered
INDEX£¬»òÕß×éºÏË÷Òý£¬½áºÏʹÓã¬À©´óË÷Òý¸²¸Ç£¬µ«²»´ó¿ÉÄÜËùÓÐÁж¼ÓÐË÷Òý¸²¸Ç£¬´ÅÅÌ¿ªÏúºÍÊý¾Ýinsert
updatʱË÷ÒýµÄÖØÐ¼ÆËãµÄʱ¼ä¿ªÏúÊǾ޴óµÄ¡£×ÜÖ®£¬ºÏÀíµÄË÷ÒýÉè¼ÆÊǽ¨Á¢ÔÚ¶Ô¸÷ÖÖ²éѯµÄ·ÖÎöºÍÔ¤²âÉϵģ¬Ö»ÓÐÕýÈ·µØÊ¹Ë÷ÒýÓë³ÌÐò½áºÏÆðÀ´,²ÅÄܲúÉú×î
¼ÑµÄÓÅ»¯·½°¸¡£
¼ÌÐøÊµ¼ù£¬ÏȽ¨¸öʵÑé±í Table1£º

½¨Á½¸öË÷Òý£º
1. Ö÷¼üIDÊÇClustered INDEX
2. ·Ç¾Û´ØË÷ÒýNon-Clustered INDEX½¨Á¢ÔÚAgeÁÐÉÏ£¬°üº¬ÁУºCount¡£
CREATE NONCLUSTERED INDEX [cnt] ON [dbo].[table1]
(
    [Age] ASC
)
INCLUDE ( [Count])
ON [PRIMARY]
ÎÒÃǵIJâÊÔSQLÓï¾äÊÇ£º´Ó10ÍòÌõ¼Ç¼ÖÐÈ¡³ö4Ìõ¼Ç¼£¬Á½ÖÖд·¨
1. SELECT *
from table1 WHERE age < 100;
2. SELECT count
from table1 WHERE age < 100;
¿´¿´ÔËÐÐЧÂÊÈçºÎ£º
´ÅÅÌIOºÍʱ¼ä£º

ʵ¼ÊÖ´Ðмƻ®£º

ÐÔÄܾÓÈ»Ïà²î20¶à±¶¡£ÎªÊ²Ã´£¿
Ô­À´µÚ¶þ¾äSelect Count
ÔÚË÷Òý¸²¸Ç·¶Î§ÄÚ£¬ÒòΪ²éѯÓÅ»¯Æ÷¿ÉÒÔÔÚË÷ÒýÖÐÕÒµ½ËùÓÐÁÐÖµ£»²»·ÃÎʱí»ò¾Û¼¯Ë÷ÒýÊý¾Ý£¬´Ó¶ø¼õÉÙ´ÅÅÌ I/O ²Ù×÷¡£¶øµÚÒ»¾äSelect *
Ñ¡ÔñÁËËùÓÐ×ֶΣ¬ÆäÖÐÓÐÒ»¸ö×Ö¶ÎName²»ÔÚË÷Òý¸²¸Ç·¶Î§ÄÚ£¨¼È²»ÔÚ¾Û´ØË÷ÒýÁУ¬Ò²²»ÔڷǾ۴ØË÷Òý¸²¸ÇÁÐÄÚ£©£¬SQL
Server¿ÉÒÔÔÚͬһ¸ö²éѯÖÐΪһ¸ö±íʹÓöà¸öË÷Òý£¬²¢¿ÉÒԺϲ¢¶à¸öË÷Òý£¨Ê¹ÓÃÁª½ÓËã·¨£©£¬ÒÔ±ãËÑË÷¹Ø¼ü×Ö¹²Í¬¸²¸ÇÒ»¸ö²éѯ¡£²éѯ·ÖÎöÓÅ»¯Æ÷»á×Ô¶¯½øÐÐ
Ñ¡Ôñ, ÉÏÊöÖ´Ðмƻ®¾ÍÊÇÓÅ»¯µÄ½á¹û£¬ÒÀÈ»±ÈµÚ¶þ¸öindex seekÂýÁË20±¶¡£
È»ºóÎÒÓÖ°Ñsql¸ÄÁËһϣ¬±ä³É´Ó10ÍòÌõ


Ïà¹ØÎĵµ£º

sqlserver ÆÚÖп¼ÊÔÌâ

 create database DB
use DB
--רҵ±í
create table major
(spno char(5) not null primary key,
 spname varchar(20) not null,
 pno char(2) )
--ѧÉú±í
create table student
(sno char(7) not null primary key,
 sname varchar(20) not null,
 ssex char(2) not null,
 sag ......

̸JDBC SQLSERVER"Error establishing socket"

 
jdbcÅäÖÃÓï¾äΪ: jdbc:microsoft:sqlserver://server_name:1433
ÈçÔËÐгÌÐòʱ³öÏÖ "Error establishing socket" ´íÎó,ÔòÓ¦½øÐÐÈçϵ÷ÊÔ:
1 ¼ì²éSQL SERVER ÊÇ·ñÔÊÐíÔ¶³Ì·ÃÎÊ.¾ßÌå²½Öè:
1)´ò¿ª"ÆóÒµ¹ÜÀíÆ÷",´ò¿ª¿ØÖÆÌ¨¸ùĿ¼>SQL Server ×é>Êý¾Ý¿â
2)ÔÚÏàÓ¦"Êý¾Ý¿â"Éϵ¥»÷ÓÒ¼ü,Ñ¡Ôñ"ÊôÐÔ"
3)Ñ¡Ôñ"Á¬½Ó"Ñ ......

02 SQLServer³£Óú¯Êý

/******************************
ϵͳº¯Êý
******************************/

--convert ÓÃÀ´×ª±äÊý¾ÝÀàÐÍ
--convert (data_type[(length)], expression [, style])
select convert(int,convert(varchar(5),12345)+'678')+1 --·µ»Ø12345679
--cast Ò²ÊÇÓÃÀ´×ª»»Êý¾ÝÀàÐÍ
--cast(expression as data_type[(l ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ