SQL UNION ²Ù×÷·û
UNION ²Ù×÷·ûÓÃÓںϲ¢Á½¸ö»ò¶à¸ö SELECT Óï¾äµÄ½á¹û¼¯¡£
Çë×¢Ò⣬UNION ÄÚ²¿µÄ SELECT Óï¾ä±ØÐëÓµÓÐÏàͬÊýÁ¿µÄÁС£ÁÐÒ²±ØÐëÓµÓÐÏàËÆµÄÊý¾ÝÀàÐÍ¡£Í¬Ê±£¬Ã¿Ìõ SELECT Óï¾äÖеÄÁеÄ˳Ðò±ØÐëÏàͬ¡£
SQL UNION Óï·¨
SELECT column_name(s) from table_name1
UNION
SELECT column_name(s) from table_name2
×¢ÊÍ£ºÄ¬Èϵأ¬UNION ²Ù×÷·ûѡȡ²»Í¬µÄÖµ¡£Èç¹ûÔÊÐíÖØ¸´µÄÖµ£¬ÇëʹÓà UNION ALL¡£
SQL UNION ALL Óï·¨
SELECT column_name(s) from table_name1
UNION ALL
SELECT column_name(s) from table_name2
ÁíÍ⣬UNION ½á¹û¼¯ÖеÄÁÐÃû×ÜÊǵÈÓÚ UNION ÖеÚÒ»¸ö SELECT Óï¾äÖеÄÁÐÃû¡£
ÏÂÃæµÄÀý×ÓÖÐʹÓõÄÔʼ±í£º
Employees_China:
E_IDE_Name
01
Zhang, Hua
02
Wang, Wei
03
Carter, Thomas
04
Yang, Ming
Employees_USA:
E_IDE_Name
01
Adams, John
02
Bush, George
03
Carter, Thomas
04
Gates, Bill
ʹÓà UNION ÃüÁî
ʵÀý
ÁгöËùÓÐÔÚÖйúºÍÃÀ¹úµÄ²»Í¬µÄ¹ÍÔ±Ãû£º
SELECT E_Name from Employees_China
UNION
SELECT E_Name from Employees_USA
½á¹û
E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams ......
select * from tt t inner loop join ss s with(nolock) on s.c=t.c
ʹÓà nested join
select * from tt t inner merge join ss s with(nolock) on s.c=t.c
ʹÓà merge join
select * from tt t inner hash join ss s with(nolock) on s.c=t.c
ʹÓà hash jion
nolock ²»ÔÊÐíËø
Microsoft SQL Server sometimes uses hash and merge joins when querying large tables when uncomplicated nested loop joins would result in better performance and less server impact. In many such cases, query times go from many milliseconds to many seconds because hash table joins require that large amounts of data be processed and temporarily stored, and merge joins require sorting and then processing similarly large amounts of data.
This is fine for one-time administrative "fact finding" queries where you don't have or want the indices needed to optimize the query, and you're willing to wait the seconds or minutes it takes to get ......
SQL ServerµÄһЩϵͳ±äÁ¿
sp_configure 'min server memory' --·þÎñÆ÷×îСÄÚ´ægosp_configure 'max server memory' --·þÎñÆ÷×î´óÄÚ´æ'gosp_configure 'index create memory'--´´½¨Ë÷ÒýÕ¼ÓõÄÄÚ´ægo--sp_configure 'min memory per query'--ÿ´Î²éѯռÓõÄ×îСÄÚ´æ
--»ñÈ¡I/O¹¤×÷Çé¿öselect -- @@id_busy£¬--SQL×ÔÉÏ´ÎÆô¶¯ÒÔÀ´µÄÓÃÓÚÖ´ÐÐÊäÈëºÍÊä³ö²Ù×÷µÄʱ¼ä @@timeticks, --ÿ¸öʱÖÓÖÜÆÚ¶ÔÓ¦µÄ΢ÃëÊý-- @@id_busy*@@timeticks as 'I/O ²Ù×÷ºÁÃëÊý', getdate() as 'µ±Ç°Ê±¼ä'
......
SQL Server Extended Events£¨ÏÂÃæ¼ò³ÆXEvent£©ÊÇSQL Server 2008ÀïмӵÄʼþ´¦Àíϵͳ£¬ÓÃÀ´È¡´úSQL ServerÔ
ÏȵÄSQL TraceµÄ¸ú×Ù»úÖÆ¡£Ê¼þ´¦Àíϵͳ¶ÔÒ»¸ö¸´ÔÓ·þÎñÆ÷ϵͳµÄÅÅ´í£¬µ÷ÊÔÊǼ«Îª¹Ø¼üµÄ¡£ºÍSQL ServerÔÀ´µÄÊÂ
¼þ´¦ÀíϵͳÏà±È½Ï£¬XEvent¾ßÓÐÏÂÁеÄÓÅÊÆ£º
¡¡¡¡ÏûºÄ¸üÉÙµÄϵͳ×ÊÔ´£¬¸üÊÊÓÃÓÚÔÚ²úÆ··þÎñÆ÷ÉϵÄÅÅ´íºÍµ÷ÊÔ¡£²¢ÇÒÿÊÕ¼¯Ò»¸öϵͳʼþËùÏûºÄµÄ×ÊÔ´¶¼ÊÇ¿ÉÔ¤²â
µÄ¡£
¡¡¡¡²»½ö½öÄÜÊÕ¼¯Ê¼þÊý¾Ý£¬»¹ÄÜÊÕ¼¯ÔÚÕâʼþ´¥·¢µãµÄϵͳ¶¯Ì¬ÔËÐÐÐÅÏ¢£¬ÀýÈçÄڴ棬T-SQL StackµÈµÈ¡£
¡¡¡¡¿ÉÅäÖÃÐÔ£¬Äܹ»¸ù¾Ýϵͳ¸ºÔصÄÐèÇóÅäÖÃËùÐèÊÕ¼¯µÄʼþÐÅÏ¢¡£
¡¡¡¡ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó½éÉÜÈçºÎʹÓÃXEventÀ´×öϵͳÅÅ´í¹¤×÷¡£
¡¡¡¡µ±Ç°Ì¨Ó¦ÓÃÐÔÄÜϽµµÄʱºò£¬Êý¾Ý¿â¹ÜÀíÔ±¾³£ÐèҪȷ¶¨ÊÇ·ñÓÐ×ÊÔ´ËøµÄÉêÇë³åÍ»£¬¼ÈËùνÎÒÃÇ˵µÄblocking¡£ÔÚ
SQL Server 2008ÀïÃæ£¬Äã¿ÉÒÔ²éѯϵͳÊÓͼsys.dm_exec_requests£¬²¢ÇÒÄÜ·¢ÏÖÓÐһЩ½ø³ÌÕýÔڵȴý×ÊÔ´Ëø£¬±ÈÈçÏñ
ÏÂÃæÕâ¸ö½á¹û£º
¡¡¡¡ÎÒÃÇ¿ÉÒÔ¿´µ½ÓиöSession 54µÄ״̬ÊÇSuspended,Òâζ×ÅÒ»¸ö²éѯµÄ²Ù×÷±»blocked, µ«ÊÇÎÒÃÇ¿´²»µ½ÊÇÄÄÒ»¸ö
QueryÕ¼ÓÃÁË×ÊÔ´£¬ÒÔ¼°²éѯ¼Æ»®ºÍT-SQL StackµÈµÈ£¬Èç¹ûÎÒÓÐÏÂÃæµÄXEvent SessionÎÒÃǾÍÄܹ ......
Ò»£®ÊÓͼ(VIEW)
¶¨Ò壺ÊÓͼÊÇÒ»ÕÅÐéÄâµÄ±í£¬ÆäÄÚÈÝÊÇ´ÓÒ»ÕÅ»ò¶àÕűíÖвéѯµÃÀ´µÄ½á¹û¼¯¡£
ÃèÊö£ºÊÓͼÊÇ´æ´¢ÔÚϵͳĿ¼ÖеÄÐÅÏ¢£¬Ëý²¢Ã»ÓÐÕæÕý´æ´¢Êý¾Ý£¬¶øÊÇÒÑ´æ±íµÄͶӰ¡£ÊÓͼµÄÊôÐÔÊǰ´ÕÕÒ»¸ö²éѯµÄ¹æ¶¨´ÓÒ»¸ö»òÕß¶à¸ö±íÖе¼³öµÄ£¬ÊÇÒÑ´æ±íµÄ¹ýÂËÆ÷¡£ËýÊÇÒ»ÕÅ“Ðé±í”£¬´ÓÒ»Õűí»òÕß¶àÕűíÖÐÅÉÉú³öÀ´µÄ£¬ÆäÀ´Ô´³ÆÎª“»ù±í”£¬Ò²¿ÉÒÔ˵ÊÓͼÊÇÒ»ÕÅ“ÅÉÉú±í”¡£
×÷ÓãºÓû§¸ü¾ß×Ô¼ºÐèÒª£¬½¨Á¢ÊÓͼ¡£ÕâÑù¾Í¹ýÂ˵ôÁËÄÇЩ²»³£ÓûòÕßÓû§²»ÐèÒªµÄÊý¾Ý£¬ÈÃÓû§µÄ²Ù×÷¸ü¼ÓѸËÙ¡£ÆäÓŵ㣺
1.½µµÍÊý¾Ý¿âµÄ¸´ÔÓÐÔ¡£
2.¼¯ÖÐÓû§Êý¾Ý¡£
3.¼òµ¥¹ÜÀí¡£
4.×éÖ¯Êý¾Ý×ªÒÆµ½ÆäËûÓ¦ÓóÌÐò¡£
5.Êý¾Ý±£ÃÜ¡£
¶þ£®ÊÓͼ½¨Á¢
CREATE VIEW <ÊÓͼÃû> [(<ÁÐÃû>[,<ÁÐÃû>]......)]
AS <×Ó²éѯ>
[WITH CHECK OPTION]
×Ó²éѯ¿ÉÒÔÊÇÈÎÒ⸴ÔÓµÄSELECTÓï¾ä£¬µ«ÊÇ×Ó²éѯÖв»ÄܰüÀ¨ORDER BYºÍDISTINCTÓï¾ä¡£
WITH CHECK OPTION ±íʾ¶ÔÊÓͼ½øÐÐUPTATA£¬INSERTºÍDELETE²Ù×÷ʱҪ±£Ö¤¸üС¢²åÈëºÍɾ³ýµÄÐÐÂú×ãÊÓͼ¶¨ÒåÖеÄΪ´ËÌõ¼þ(¼´×Ó²éѯÖеı ......
ÎÊÌâ±³¾°£º
¡¡¡¡ÈÕ³£¶ÔSql Server 2005¹ØÏµÊý¾Ý¿â½øÐвÙ×÷ʱ£¬ÓÐʱ¶ÔÊý¾Ý¿â£¨È磺SharepointÍøÕ¾ÅäÖÃÊý¾Ý¿âÃû
Sharepoint_Config£©½øÐÐЩ²»Õý³£²Ù×÷ÈçÊý¾Ý¿âÔÚ¶Áдʱ¶øÎÞ¹ÊÍ£Ö¹Êý¾Ý¿â£¬´Ó¶øµ¼ÖÂSql Server 2005Êý¾Ý¿â²»Õý³£
Öжϣ¬µ±Ôٴδò¿ªÊý¾Ý¿âʱ»á·¢ÏÖijЩÊý¾Ý¿â»á±»±ê¼ÇΪ“¿ÉÒÉ”£¨suspect)£¬¼´ÔÚÊý¾Ý¿âÃûÅÔ¼ÓÉÏÁË»ÆÉ«µÄ¾ªÌ¾ºÅ£¬
ÕâʱÊý¾Ý¿â¾Í²»ÄÜÔÙ±»´ò¿ªÁË£¬µ«Êý¾Ý¿âµÄ½á¹¹¼°Êý¾ÝÄÚÈݶ¼»¹ÊÇ´æÔڵġ£
¡¡¡¡½â¾ö·½·¨£º
¡¡¡¡µ±Êý¾Ý¿â·¢ÉúÕâÖÖ²Ù×÷¹ÊÕÏʱ£¬¿ÉÒÔ°´ÈçϲÙ×÷²½Öè¿É½â¾ö´Ë·½·¨£¬´ò¿ªÊý¾Ý¿âÀïµÄSql ²éѯ±à¼Æ÷´°¿Ú£¬ÔËÐÐÒÔ
ϵÄÃüÁî¡£
¡¡¡¡1¡¢ÐÞ¸ÄÊý¾Ý¿âΪ½ô¼±Ä£Ê½
¡¡¡¡ALTER DATABASE Sharepoint_Config SET EMERGENCY
¡¡¡¡2¡¢Ê¹Êý¾Ý¿â±äΪµ¥Óû§Ä£Ê½
¡¡¡¡ALTER DATABASE Sharepoint_Config SET SINGLE_USER
¡¡¡¡3¡¢ÐÞ¸´Êý¾Ý¿âÈÕÖ¾ÖØÐÂÉú³É£¬´ËÃüÁî¼ì²éµÄ·ÖÅ䣬½á¹¹£¬Âß¼ÍêÕûÐÔºÍËùÓÐÊý¾Ý¿âÖеĶÔÏó´íÎó¡£µ±ÄúÖ¸¶¨
“REPAIR_ALLOW_DATA_LOSS”×÷ΪDBCC CHECKDBÃüÁî²ÎÊý£¬¸Ã³ÌÐò½«¼ì²éºÍÐÞ¸´±¨¸æµÄ´íÎó¡£µ«ÊÇ£¬ÕâЩÐÞ¸´¿ÉÄܻᵼ
ÖÂһЩÊý¾Ý¶ªÊ§¡£
¡¡¡¡DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS)
¡¡¡¡4 ......