²éѯËÙ¶ÈÂýµÄÔÒòºÜ¶à£¬³£¼ûÈçϼ¸ÖÖ
1¡¢Ã»ÓÐË÷Òý»òÕßûÓÐÓõ½Ë÷Òý(ÕâÊDzéѯÂý×î³£¼ûµÄÎÊÌ⣬ÊdzÌÐòÉè¼ÆµÄȱÏÝ)
2¡¢I/OÍÌÍÂÁ¿Ð¡£¬ÐγÉÁËÆ¿¾±Ð§Ó¦¡£
3¡¢Ã»Óд´½¨¼ÆËãÁе¼Ö²éѯ²»ÓÅ»¯¡£
4¡¢ÄÚ´æ²»×ã
5¡¢ÍøÂçËÙ¶ÈÂý
6¡¢²éѯ³öµÄÊý¾ÝÁ¿¹ý´ó£¨¿ÉÒÔ²ÉÓöà´Î²éѯ£¬ÆäËûµÄ·½·¨½µµÍÊý¾ÝÁ¿£©
7¡¢Ëø»òÕßËÀËø(ÕâÒ²ÊDzéѯÂý×î³£¼ûµÄÎÊÌ⣬ÊdzÌÐòÉè¼ÆµÄȱÏÝ)
8¡¢sp_lock,sp_who,»î¶¯µÄÓû§²é¿´,ÔÒòÊǶÁд¾ºÕù×ÊÔ´¡£
9¡¢·µ»ØÁ˲»±ØÒªµÄÐкÍÁÐ
10¡¢²éѯÓï¾ä²»ºÃ£¬Ã»ÓÐÓÅ»¯
¿ÉÒÔͨ¹ýÈçÏ·½·¨À´ÓÅ»¯²éѯ
1¡¢°ÑÊý¾Ý¡¢ÈÕÖ¾¡¢Ë÷Òý·Åµ½²»Í¬µÄI/OÉ豸ÉÏ£¬Ôö¼Ó¶ÁÈ¡ËÙ¶È£¬ÒÔǰ¿ÉÒÔ½«TempdbÓ¦·ÅÔÚRAID0ÉÏ£¬SQL2000²»ÔÚÖ§³Ö¡£Êý¾ÝÁ¿£¨³ß´ç£©Ô½´ó£¬Ìá¸ßI/OÔ½ÖØÒª.
2¡¢×ÝÏò¡¢ºáÏò·Ö¸î±í£¬¼õÉÙ±íµÄ³ß´ç(sp_spaceuse)
3¡¢Éý¼¶Ó²¼þ
4¡¢¸ù¾Ý²éѯÌõ¼þ,½¨Á¢Ë÷Òý,ÓÅ»¯Ë÷Òý¡¢ÓÅ»¯·ÃÎÊ·½Ê½£¬ÏÞÖÆ½á¹û¼¯µÄÊý¾ÝÁ¿¡£×¢ÒâÌî³äÒò×ÓÒªÊʵ±£¨×îºÃÊÇʹÓÃĬÈÏÖµ0£©¡£Ë÷ÒýÓ¦¸Ã¾¡Á¿Ð¡£¬Ê¹ÓÃ×Ö½ÚÊýСµÄÁн¨Ë÷ÒýºÃ,
²»Òª¶ÔÓÐÏ޵öÖµµÄ×ֶν¨µ¥Ò»Ë÷Òý,ÈçÐÔ±ð×Ö¶Î
5¡¢Ìá¸ßÍ ......
Cross Applyʹ±í¿ÉÒԺͱíÖµº¯Êý½á¹û½øÐÐjoin£¬ÔÚÏÂÃæµÄʾÀýÖн¨ÁËÁ½¸ö±íºÍÒ»¸ö±íÖµº¯Êý£¬T_bµÄÁÐa_idsÖÐ»á´æ·Åa±íµÄidÓÃ,·Ö¸îµÄ×Ö·û´®Á¬½Ó£»ÎÒÃÇͨ¹ýcross applyʹT_a£¬T_b±íͨ¹ýsplitIDs inner join Á¬½Ó¡£Ç뿴ʾÀý£ºGO
if object_id('T_a','U') is not null
drop table T_a
GO
CREATE TABLE T_a( id int unique not null,
name varchar(50),
)
GO
if object_id('T_b',N'U') is not null
drop table T_b
GO
create table T_b
(
id int unique not null,
name varchar(10),
a_ids varchar(100) null --ÒªÔÚÕâÒ»ÁÐÖдæ·Åt_a±íµÄIDÐòÁÐ,ÕâÑù×öÁ¬µÚÒ»·¶Ê½¶¼Ã»ÓÐÂú×㣬µ«ÊÇÓÐʱºò¿¼ÂÇÐÔÄÜ»òÉè¼ÆÎÒÃÇ¿ÉÄÜ»áÏñÕâôÓÃ
)
GO
--³õʼ»¯Êý¾Ý
INSERT INTO T_a VALUES(1,'A-1')
INSERT INTO T_a VALUES(2,'A-2')
INSERT INTO T_a VALUES(3,'A-3')
INSERT INTO T_a VALUES(4,'A-4')
INSERT INTO T_a VALUES(5,'A-5')
INSERT INTO T_b VALUES(1,'B-1','1,2,4')
GO
--´´½¨Ò»¸ö±íÖµº¯Êý£¬ÓÃÀ´²ð·ÖÓöººÅ·Ö¸îµÄÊý×Ö´®£¬·µ»ØÖ»ÓÐÒ»ÁÐÊý×ֵıí
if object_id('splitI ......
ÏÖÓÐtable_for_report_1ºÍtable_for_report_2£¬ÏêÇéÈçÏ£º
table_for_report_1ÓÐnum×ֶΣ¬c1,c2,c3×ֶΡ£
Êý¾ÝÈçÏ£º
num c1 c2 c3
1 15001346690 11 12 13
2 13329921100 21 22 23
3 18900000000 31 32 33
4 13811111111 41 42 43
table_for_report_2ÓÐnum×ֶΣ¬c4,c5×ֶΡ£
Êý¾ÝÈçÏ£º
num c4 c5
1 13822222222 34 35
2 15001346690 14 15
3 13811111111 24 25
ÄÚÁ¬½Ó£º
select t1.num,t1.c1,t1.c2,t1.c3,t2.c4,t2.c5
from table_for_report_1 t1, table_for_report_2 t2
where t1.num=t2.num
½á¹û£º
num c1 c2 c3 c4 c5
1&n ......
ÔÚ±¾ÎÄÖУ¬GetDate()»ñµÃµÄÈÕÆÚÓÉÁ½²¿·Ö×é³É£¬·Ö±ðÊǽñÌìµÄÈÕÆÚºÍµ±Ê±µÄʱ¼ä£ºSelect GetDate() ÓÃDateName()¾Í¿ÉÒÔ»ñµÃÏàÓ¦µÄÄê¡¢Ô¡¢ÈÕ£¬È»ºóÔÙ°ÑËüÃÇÁ¬½ÓÆðÀ´¾Í¿ÉÒÔÁË£º
¡¡¡¡
Select Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate())
¡¡¡¡ÁíÍ⣬DateName()»¹¿ÉÒÔ»ñµÃµ½Ð¡Ê±¡¢Ê±¼ä¡¢Ãë¡¢ÐÇÆÚ¼¸¡¢µÚ¼¸ÖÜ£¬·Ö±ðÈçÏ£º
¡¡¡¡
Select Datename(hour,GetDate())
Select Datename(minute,GetDate())
Select Datename(second,GetDate())
Select Datename(weekDay,GetDate())
Select Datename(week,GetDate())
¡¡¡¡
µÃµ½µÄÊÇNvarcharÀàÐÍ£¬ÐèҪת»»Convert(datetime,Æ´½ÓµÄÈÕÆÚ, 0) ......
×÷Õß:ÂÞ´ú¾ù ldj_work#126.com ×ªÔØÇë±£³ÖÍêÕûÐÔ
1.²âÊÔ±í
employee
¹ÍÔ±id ²¿ÃÅid н½ð
emp_id dept_id salary
01 01 1050
02 01 2000
ok,ÎÒÃÇÒª²éÕÒ²¿ÃÅ01ÏÂ,н½ð¸ßÓÚ1000µÄ¹ÍÔ±
2.ÔÔò¼°Á½¸öSQLµÄ¶Ô±È
ÔÔò,¶àÊýÊý¾Ý¿â¶¼ÊÇ´Ó ×óµ½ÓÒµÄ˳Ðò´¦ÀíÌõ¼þ,°ÑÄܹýÂ˸ü¶àÊý¾ÝµÄÌõ¼þ·ÅÔÚÇ°Ãæ,¹ýÂËÉÙµÄÌõ¼þ·ÅºóÃæ
SQL1: select * from employee
where salary >1000 --Ìõ¼þ1,¹ýÂ˵ÄÊý¾Ý½ÏÉÙ
&nb ......
Ê×ÏÈ£º·ÖÀëÊý¾Ý¿â
ÆóÒµ¹ÜÀíÆ÷--ÓÒ¼üsuspectµÄÊý¾Ý¿â--ËùÓÐÈÎÎñ--·ÖÀëÊý¾Ý¿âÈ»ºó±¸·ÝÄãµÄsuspectÊý¾Ý¿âµÄÎļþ,ÔÙ°´ÏÂÃæµÄ²½Öè´¦Àí:
1.н¨Ò»¸öͬÃûµÄÊý¾Ý¿â
2.ÔÙÍ£µôsql server
3.ÓÃsuspectÊý¾Ý¿âµÄÎļþ¸²¸ÇµôÕâ¸öн¨µÄͬÃûÊý¾Ý¿â
4.ÔÙÖØÆôsql server
5.´Ëʱ´ò¿ªÆóÒµ¹ÜÀíÆ÷ʱн¨µÄͬÃûÊý¾Ý¿â»á³öÏÖÖÃÒÉ£¬ÏȲ»¹Ü£¬Ö´ÐÐÏÂÃæµÄÓï¾ä£¨×¢ÒâÐÞ¸ÄÆäÖеÄÊý¾Ý¿âÃû)
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',
1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET
STATUS =32768 WHERE NAME='his222'
Go
sp_dboption 'test', 'single user', 'true'
Go
DBCC CHECKDB('test')
Go
update sysdatabases set status =28 where name='test'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'test', 'single user', 'false'
Go
6.Íê³ÉºóÒ»°ã¾Í¿ÉÒÔ·ÃÎÊÊý¾Ý¿âÖеÄÊý¾ÝÁË,Õâʱ,Êý¾Ý¿â±¾ÉíÒ»°ã»¹ÒªÎÊÌâ,½â¾ö°ì·¨ÊÇ,ÀûÓÃÊý¾Ý¿âµÄ½Å±¾´´½¨Ò»¸öеÄÊý¾Ý¿â,²¢½«Êý¾Ýµ¼½øÈ¥¾ÍÐÐÁË.
Èç¹ûÕâÑù¸Ä²»¼ÓÊý¾Ý¿â״̬,Äã¾Í°ÑÊý¾Ý¿âµ¼³ÉÒ»¸öпâÀ´´úÌæ¾É¿â°É
ÆóÒµ¹ÜÀíÆ÷--ÓÒ¼üÄãµÄÊý¾Ý¿â--ËùÓÐÈÎÎñ--µ¼³öÊý¾Ý
--Ä¿±ê±êÊý¾Ý¿âÑ¡Ôñн¨ ......