ÈçºÎ¼ì²éSQL Server CPUÆ¿¾±
--¼ì²âCPUѹÁ¦µÄÒ»¸ö·½·¨ÊǼÆËãÔËÐÐ״̬ÏµĹ¤×÷½ø³ÌÊýÁ¿£¬
--ͨ¹ýÖ´ÐÐÈçϵÄDMV²éѯ¿ÉÒԵõ½Õâ¸öÐÅÏ¢
SELECT COUNT(*) AS workers_waiting_for_cpu,t2.scheduler_id
from sys.dm_os_workers AS t1, sys.dm_os_schedulers AS t2
WHERE t1.state='RUNNABLE' AND
t1.scheduler_address = t2.scheduler_address AND
t2.scheduler_id<255
GROUP BY t2.scheduler_id
--Ò²¿ÉÒÔÖ´ÐÐÈçϵIJéѯµÃµ½¹¤×÷½ø³ÌÔÚ¿ÉÔËÐÐ״̬Ï»¨·ÑµÄʱ¼ä
SELECT SUM(signal_wait_time_ms) from sys.dm_os_wait_stats
--ÏÂÃæÊÇÒ»¸öDMV²éѯ£¬Ëü¿ÉÒÔÓÃÀ´ÕÒ³öÿ´ÎÖ´ÐÐÖÐÕ¼ÓÃCPU×î¶àµÄÇ®10Ϊ²éѯ£¬
--Ò²ÁгöÁËSQLÓï¾äµÄ²éѯ¼Æ»®¼°¼Æ»®±»Ö´ÐеĴÎÊý¡£Èç¹ûÒ»¸ö²éѯ´ó¼ÒËä¸ß£¬
--µ«Ö´ÐдÎÊýÉÙ£¬ÄÇÒ²¿ÉÒÔ²ÉÄÉ¡£
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,execution_count,
(SELECT SUBSTRING(text,statement_start_offset/2+1,
(CASE WHEN statement_end_offset=-1
THEN LEN(CONVERT(NVARCHAR(max),text))*2
ELSE statement_end_offset
END -statement_start_offset)/2)
from sys.dm_exec_sql_text(sql_handle)
) AS query_text
from sys.dm_exec_query_stats
ORDER BY [avg_cpu_cost] DESC
--ÒÔÉÏDMVÖ»ÏÔʾµ±Ç°±»»º´æµÄ²éѯºÏ¼ÆÍ³¼ÆÐÅÏ¢
--ΪÁËÕÒ³ö¹¤×÷¸ººÉÖÐÔËÐÐ×îÆµ·±µÄ²éѯ£¬¾ÍÐèÒªÖ´ÐÐÏÂÃæµÄDMV²éѯ¡£
SELECT TOP 10 total_worker_time ,plan_handle,execution_count,
(SELECT SUBSTRING(text,statement_start_offset/2+1,
(CASE WHEN statement_end_offset=-1
THEN LEN(CONVERT(NVARCHAR(max),text))*2
ELSE statement_end_offset
END -statement_start_offset)/2)
from sys.dm_exec_sql_text(sql_handle)
) AS query_text
from sys.dm_exec_query_stats ORDER BY execution_count
--SQL ServerÔÚÓÅ»¯²éѯ¼Æ»®ÉÏ»¨·ÑµÄʱ¼ä¿ÉÒÔÓÃÏÂÃæµÄDM
Ïà¹ØÎĵµ£º
´Ó2000¿ªÊ¼¾ÍÊÇMS SQL¼ÒµÄÖÒʵÓû§ÁË£¬2000µÄʱºòÎÒÊÇ´ÓÒ»±¾2000±¦µä¿ªÊ¼ÈëÃŵ쬴Ó2000µ½2005¾ÀúÁ˺ܳ¤Ê±¼ä£¬ºÜ¶àµÄÓû§ÖÁ½ñ»¹ËÀËÀµÄÊØ×Å2000£¬Èç¹û²»Êǹ¤³ÌÒªÇ󣬹À¼ÆÎÒÒ²²»»áÖ÷¶¯»»µ½2005£¬È»¶øÑÛ¾¦Ò»Õ££¬2008ÓÖ³öÀ´ÁË£¬°§Ì¾£¬2005µÄ¹¦ÄÜÎÒ¶¼Ã»ÓÐÃþÍ¸ÄØ¡£
2008Óë2005µÄ¶Ô±È
1.Âý£¬Ê²Ã´¶¼Âý£¬´Ó»Ö¸´Êý¾Ý¿â£¬µ½µ¼ÈëÊý¾Ý ......
Ò»¡¢PL/SQL±à³Ì¹æ·¶Ö®´óСд
¾ÍÏñÔÚSQLÖÐÒ»Ñù£¬PL / SQLÖÐÊDz»Çø·Ö´óСдµÄ¡£ÆäÒ»°ã×¼ÔòÈçÏ£º
¹Ø¼ü×Ö(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)¡¢Êý¾ÝÀàÐÍ(VARCHAR2, NUMBER)¡¢ÄÚ²¿º¯Êý(LEAST, SUBSTR)ºÍÓû§¶¨ÒåµÄ×Ó³ÌÐò(procedures, functions,packages)£¬Ê¹Óôóд¡£
±äÁ¿ÃûÒÔ¼°SQLÖеÄÁÐÃûºÍ±íÃû£¬Ê¹ÓÃÐ ......
1 ²éѯsqlÓÅ»¯
1.1 Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò£¨Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧORACLE£©
½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí¡£ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí ......
ÔÚ´æ´¢¹ý³ÌÖÐʹÓÃÊÂÎñ£¬ÒÔÏÂΪģ°å£º
CREATE PROCEDURE testPro
AS
/**//* ------- ÊÂÎñ¿ªÊ¼---------- */
BEGIN TRANSACTION tran_test
/**//* -------- ±£´æÊÂÎñ----------*/
SAVE TRANSACTION tran_test
/**//* -------- Êý¾Ý²Ù×÷---------*/
INSERT [table1] ( [content] ) VALUES ( '43332' )
/**//*---- ......