SQL Server ¾³£Óõ½µÄ¼¸¸öÉèÖÃÑ¡Ïî
1. SET DEADLOCK_PRIORITY
˵Ã÷£º¿ØÖÆÔÚ·¢ÉúËÀËøÇé¿öʱ»á»°µÄ·´Ó¦·½Ê½¡£Èç¹ûÁ½¸ö½ø³Ì¶¼Ëø¶¨Êý¾Ý£¬²¢ÇÒÖ±µ½ÆäËü½ø³ÌÊÍ·Å×Ô¼ºµÄËøÊ±£¬Ã¿¸ö½ø³Ì²ÅÄÜÊÍ·Å×Ô¼ºµÄËø£¬¼´·¢ÉúËÀËøÇé¿ö¡£
Óï·¨£ºSET DEADLOCK_PRIORITY { LOW | NORMAL | @deadlock_var }
²ÎÊý£ºLOW Ö¸¶¨µ±Ç°»á»°ÎªÊ×Ñ¡ËÀËøÎþÉüÆ·¡£Microsoft® SQL Server™ ×Ô¶¯»Ø¹öËÀËøÎþÉüÆ·µÄÊÂÎñ£¬²¢¸ø¿Í»§¶ËÓ¦ÓóÌÐò·µ»Ø 1205 ºÅËÀËø´íÎóÐÅÏ¢¡£
¡¡¡¡¡¡NORMAL Ö¸¶¨»á»°·µ»Øµ½Ä¬ÈϵÄËÀËø´¦Àí·½·¨¡£
¡¡¡¡¡¡@deadlock_var ÊÇÖ¸¶¨ËÀËø´¦Àí·½·¨µÄ×Ö·û±äÁ¿¡£Èç¹ûÖ¸¶¨ LOW£¬Ôò @deadlock_var Ϊ 3£»Èç¹ûÖ¸¶¨ NORMAL£¬Ôò @deadlock_var Ϊ 6¡£
×¢ÊÍ£ºSET DEADLOCK_PRIORITY µÄÉèÖÃÊÇÔÚÖ´ÐлòÔËÐÐʱÉèÖ㬶ø²»ÊÇÔÚ·ÖÎöʱÉèÖá£
ȨÏÞ£ºSET DEADLOCK_PRIORITY ȨÏÞĬÈÏÊÚÓèËùÓÐÓû§¡£
2. SET LOCK_TIMEOUT
˵Ã÷£ºÖ¸¶¨Óï¾äµÈ´ýËøÊͷŵĺÁÃëÊý¡£
Óï·¨£ºSET LOCK_TIMEOUT timeout_period
²ÎÊý£ºtimeout_period ÊÇÔÚ Microsoft® SQL Server™ ·µ»ØËø¶¨´íÎóǰ¾¹ýµÄºÁÃëÊý¡£ÖµÎª -1£¨Ä¬ÈÏÖµ£©Ê±±íʾûÓг¬Ê±ÆÚÏÞ£¨¼´ÎÞÏÞÆÚµÈ´ý£©¡£
¡¡¡¡¡¡ µ±ËøµÈ´ý³¬¹ý³¬Ê±ÖµÊ±£¬½«·µ»Ø´íÎó¡£ÖµÎª 0 ʱ±íʾ¸ù±¾²»µÈ´ý£¬²¢ÇÒÒ»Óöµ½Ëø¾Í·µ»ØÐÅÏ¢¡£
×¢ÊÍ£ºÔÚÁ¬½Ó¿ªÊ¼Ê±£¬¸ÃÉèÖõÄֵΪ -1¡£ÉèÖøü¸Äºó£¬ÐÂÉèÖÃÔÚÆäÓàµÄÁ¬½Óʱ¼äÀïÒ»Ö±ÓÐЧ¡£
¡¡¡¡¡¡SET LOCK_TIMEOUT µÄÉèÖÃÊÇÔÚÖ´ÐлòÔËÐÐʱÉèÖ㬶ø²»ÊÇÔÚ·ÖÎöʱÉèÖá£
¡¡¡¡¡¡READPAST Ëø¶¨ÌáʾΪ¸Ã SET Ñ¡ÏîÌṩÁËÁíÒ»ÖÖ·½Ê½¡£
ȨÏÞ£ºSET LOCK_TIMEOUT ȨÏÞĬÈÏÊÚÓèËùÓÐÓû§¡£
ʾÀý£ºÏÂÀý½«Ëø³¬Ê±ÆÚÏÞÉèÖÃΪ 1,800 ºÁÃë¡£
¡¡¡¡¡¡SET LOCK_TIMEOUT 1800
¡¡¡¡¡¡GO
3. @@LOCK_TIMEOUT
˵Ã÷£º·µ»Øµ±Ç°»á»°µÄµ±Ç°Ëø³¬Ê±ÉèÖ㬵¥Î»ÎªºÁÃë¡£
Óï·¨£º@@LOCK_TIMEOUT
·µ»ØÀàÐÍ£ºinteger
×¢ÊÍ£ºSET LOCK_TIMEOUT ÔÊÐíÓ¦ÓóÌÐòÉèÖÃÓï¾äµÈ´ý×èÈû×ÊÔ´µÄ×ʱ¼ä¡£µ±Ò»ÌõÓï¾äÒѵȴý³¬¹ý LOCK_TIMEOUT ËùÉèÖõÄʱ¼ä£¬Ôò±»Ëø×¡µÄÓï¾ä½«×Ô¶¯È¡Ïû£¬²¢¸øÓ¦ÓóÌÐò·µ»ØÒ»Ìõ´íÎóÐÅÏ¢¡£
¡¡¡¡¡¡ÔÚÒ»¸öÁ¬½ÓµÄ¿ªÊ
Ïà¹ØÎĵµ£º
Subquery: (single-row subqueries and multi-rows subqueries).
select select_list
from table
where expr operator (select select_list from table);
single-row subqueries operator: =, >, >=, <, <=, <>
e.g.:
1. select department_id, min(salary) from employees group by department_id ......
Merge statement
function benefits: 1) provides the ability to conditionally update, insert or delete data into a database table. 2) performs an update if the row exists, and an insert if it is a new row. --> 1) avoids seperate updates, 2) increase performance and ease of use. 3) is useful in dat ......
(×¢:outerµÄÒâ˼¾ÍÊÇ"ûÓйØÁªÉϵÄÐÐ"¡£)
1.cross join È«ÍâÁ¬½Ó(µÑ¿¨¶û³Ë»ý)
SELECT A.*, B.* from A FULL OUTER JOIN B ON A.ID = B.ID
2.inner join ÄÚÁ¬½Ó(Ôڵѿ¨¶û³Ë»ýµÄ½á¹û¼¯ÖÐÈ¥µô²»·ûºÏÁ¬½ÓÌõ¼þµÄÐÐ)
SELECT A.* from A INNER JOIN B ON A.ID=B.ID
3.left outer join ×óÍâÁ¬½Ó(ÔÚinner joinµÄ½á¹ ......
WAITFOR
Ö¸¶¨´¥·¢Óï¾ä¿é¡¢´æ´¢¹ý³Ì»òÊÂÎñÖ´ÐеÄʱ¼ä¡¢Ê±¼ä¼ä¸ô»òʼþ¡£
Óï·¨
WAITFOR { DELAY 'time' | TIME
'time' }
²ÎÊý
DELAY
ָʾ Microsoft® SQL Server™ Ò»Ö±µÈµ½Ö¸¶¨µÄʱ¼ä¹ýÈ¥£¬×¿É´ï 24 Сʱ¡£
'time'
ÒªµÈ´ýµÄʱ¼ä¡£¿ÉÒÔ°´ datetime Êý¾Ý¿É½ÓÊܵĸñʽָ¶¨
time£¬Ò²¿ÉÒÔÓþֲ¿±äÁ¿Ö¸¶ ......
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace DAL
{
......