{"id":2022,"date":"2020-11-05T07:00:00","date_gmt":"2020-11-05T04:00:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=2022"},"modified":"2024-10-16T13:07:20","modified_gmt":"2024-10-16T10:07:20","slug":"to-query-profiling-ginetai-lightweight","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/to-query-profiling-ginetai-lightweight\/","title":{"rendered":"How do we find how much more it takes to complete the query and which is delayed (SQL Server Query Profiling)"},"content":{"rendered":"<p>Many times we will encounter queries that take too long to complete or never complete at all. To find out what exactly is at fault the most useful information is the <strong>actual execution plan<\/strong>.<\/p>\n\n\n\n<p>As the actual execution plan requires the completion of the query, with the <strong>live query statistics<\/strong> provide the ability for real-time information as you run the query. Information such as which query of the batch we are in, the number of records produced, execution time, CPU \u2013 I\/O usage, the progress of the query and finally in which <strong>execution plan operator<\/strong> we are here to complete the process.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u03c0\u03c9\u03c2-\u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5-\u03bd\u03b1-\u03c0\u03b1\u03c1\u03b1\u03ba\u03bf\u03bb\u03bf\u03c5\u03b8\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5-\u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03bf-query-\u03c0\u03bf\u03c5-\u03b8\u03ad\u03bb\u03bf\u03c5\u03bc\u03b5-\u03bd\u03b1-\u03c4\u03c1\u03ad\u03be\u03bf\u03c5\u03bc\u03b5\">How can we monitor a specific query that we want to run<\/h2>\n\n\n\n<p>By writing the command before the query <strong>SET STATISTICS PROFILE ON<\/strong> when we run the batch in addition to the results we will be shown the <strong>actual execution plan<\/strong> per<strong> query<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">SET STATISTICS PROFILE ON\n\n\nselect top 10 * from pinakas;\ngo\n\ncreate nonclustered index ix_pin on pinakas (onoma);\ngo\n\ndelete from pinakas where tilefono like '%5%'\ngo\n\ndeclare \n@i int;\nset @i =1;\nwhile @i&lt;100000\nbegin\ninsert into pinakas values ('stratos'+cast(@i as varchar),'20294012',null)\nset @i=@i+1\nend<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"674\" height=\"510\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-1.png\" alt=\"\" class=\"wp-image-2024\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-1.png 674w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-1-300x227.png 300w\" sizes=\"auto, (max-width: 674px) 100vw, 674px\" \/><\/figure>\n\n\n\n<p>At the same time, this information about the progress of the query (which has the statistics profile activated) is recorded in the dynamic view <strong>sys.dm_exec_query_profiles<\/strong>. At the same time we can see the<strong> live execution plan<\/strong> in the <strong>sys.dm_exec_query_Statistics_xml<\/strong>.<\/p>\n\n\n\n<p>So by running it we see in which <strong>query <\/strong>and <strong>operator <\/strong>the batch is currently available. We also see it <strong>completion rate<\/strong>, the wait type and the <strong>live execution plan<\/strong> of.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">select d.name,qp.session_id,text,physical_operator_name,(row_count*100\/nullif(estimate_row_count,0)) as percent_complete,w.wait_type,w.wait_duration_ms,lp.query_plan as live_query_plan,p.query_plan,row_count,estimate_row_count,cpu_time_ms,logical_read_count,physical_read_count,write_page_count,qp.object_id,object_name(qp.object_id) as object_name,qp.index_id\n,i.name as index_name\nfrom sys.dm_exec_query_profiles qp\nleft join sys.dm_os_waiting_tasks w on w.session_id = qp.session_id\nleft join sys.databases d on d.database_id = qp.database_id\nleft join sys.indexes i on qp.object_id=i.object_id and qp.index_id = i.index_id\nouter apply sys.dm_exec_sql_text(qp.sql_handle) as t\nouter apply sys.dm_exec_query_plan(qp.plan_handle) as p\nouter apply sys.dm_exec_query_Statistics_xml(qp.plan_handle) as lp\nwhere text not like '%dm_exec_query_profiles%'\n<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"858\" height=\"235\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-2.png\" alt=\"\" class=\"wp-image-2266\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-2.png 858w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-2-300x82.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-2-768x210.png 768w\" sizes=\"auto, (max-width: 858px) 100vw, 858px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u03c0\u03c9\u03c2-\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03bf\u03cd\u03bc\u03b5-\u03c4\u03b1-live-query-statistics\">How to enable Live Query Statistics<\/h2>\n\n\n\n<p>Beyond choosing to turn it on <strong>statistics profile<\/strong> if we are using SQL Server Management Studio 2016 and later, we have the option to enable both <strong>Live Query Statistics<\/strong>.<\/p>\n\n\n\n<p>Simple by selecting its button before executing the specific query <strong>Include Live Query Statistics<\/strong> (as shown in the image below).<\/p>\n\n\n\n<p>During the execution of the query we will see the query progress per batch and the progress of each query plan operator within it. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"530\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-3.png\" alt=\"\" class=\"wp-image-2026\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-3.png 588w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-3-300x270.png 300w\" sizes=\"auto, (max-width: 588px) 100vw, 588px\" \/><\/figure>\n\n\n\n<p>Also if we right click on <strong>Activity Monitor<\/strong> of Management Studio we will see the option <strong>Show Live Execution Plan<\/strong>  for which only queries the command is used <strong>SET STATISTICS PROFILE ON<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"446\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-4.png\" alt=\"\" class=\"wp-image-2027\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-4.png 643w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/09\/lqp-4-300x208.png 300w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u03c0\u03ce\u03c2-\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03bf\u03cd\u03bc\u03b5-\u03c4\u03b9\u03c2-\u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b5\u03c2-\u03b1\u03c5\u03c4\u03ad\u03c2-\u03c3\u03b5-\u03bf\u03bb\u03cc\u03ba\u03bb\u03b7\u03c1\u03bf-\u03c4\u03bf-instance\">How do we enable these functions across the instance?<\/h2>\n\n\n\n<p>Its use <strong>profiling <\/strong>has always been a function with a large <strong>performance impact<\/strong> so we activate it for a certain period of time on selected bases.<\/p>\n\n\n\n<p>Since SQL Server 2016 (although officially it was from SQL Server 2014 SP2 using XEvent) introduced the <strong>lightweight query profiling<\/strong>. It is a lighter profiling that does not record CPU usage but collects all other information.<\/p>\n\n\n\n<p>Thanks to lightweight query profiling, we can have profiling enabled permanently on the entire instance.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u03c0\u03c9\u03c2-\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b5\u03af\u03c4\u03b1\u03b9-\u03c4\u03bf-lightweight-query-profiling\">How to enable lightweight query profiling<\/h2>\n\n\n\n<p>To <strong>SQL Server 2016<\/strong> we can enable trace flag 7412 so that it is enabled on the entire instance.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">DBCC TRACEON (7412, -1);<\/pre>\n\n\n\n<p>Alternatively we can activate it if it is not at the instance level at the query only level with <strong>query hint<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">select * from pinakas option ( use hint ( 'QUERY_PLAN_PROFILE' ));<\/pre>\n\n\n\n<p>In order for it to work, XEvent must exist and has been created <strong>query_plan_profile<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">CREATE EVENT SESSION query_plan_profile\n    ON SERVER\n    ADD EVENT sqlserver.query_plan_profile\n    ( SET collect_database_name = ( 0 )\n     ACTION ( sqlserver.plan_handle, \n              sqlserver.query_hash_signed, \n              sqlserver.query_plan_hash_signed, \n              sqlserver.sql_text )\n              )\n    ADD TARGET package0.event_file\n    ( SET filename = N'c:\\xevents\\query_plan_profile' )\n    WITH ( MAX_MEMORY = 4096KB,\n           EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,\n           MAX_DISPATCH_LATENCY = 5 SECONDS,\n           MAX_EVENT_SIZE = 0KB,\n           MEMORY_PARTITION_MODE = NONE,\n           TRACK_CAUSALITY = OFF,\n           STARTUP_STATE = OFF );\nGO\n \nALTER EVENT SESSION query_plan_profile ON SERVER STATE = START;\nGO<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u03c4\u03b9-\u03b1\u03bb\u03bb\u03ac\u03b6\u03b5\u03b9-\u03c3\u03c4\u03bf\u03bd-sql-server-2019\">What&#039;s changing in SQL Server 2019<\/h2>\n\n\n\n<p>From SQL Server 2019 on <strong>lightweight query profiling <\/strong>is enabled at the instance level by default (no trace flag needed).<\/p>\n\n\n\n<p>There is the command to enable or disable at database level.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">ALTER DATABASE SCOPED CONFIGURATION SET LIGHTWEIGHT_QUERY_PROFILING = ON\n<\/pre>\n\n\n\n<p>We also have the ability to find the <strong>last actual execution plan<\/strong> of the queries that are still blocked.<\/p>\n\n\n\n<p>To enable it we run at base level:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">ALTER DATABASE SCOPED CONFIGURATION SET LAST_QUERY_PLAN_STATS = ON;<\/pre>\n\n\n\n<p>To see the results simply having only the sql text:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">SELECT size_in_bytes,cacheobjtype,objtype,text,query_plan FROM sys.dm_exec_cached_plans AS cp\nCROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st\nCROSS APPLY sys.dm_exec_query_plan_stats(plan_handle) AS qps\nWHERE st.text LIKE '%test%';  \nGO  <\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"183\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-6.png\" alt=\"\" class=\"wp-image-2272\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-6.png 605w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-6-300x91.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/figure>\n\n\n\n<p>Selecting the hyperlink in each one will open the graphic from the plan it had.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"223\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-7.png\" alt=\"\" class=\"wp-image-2274\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-7.png 635w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-7-300x105.png 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<p>Also in SQL Server 2019 \/ SQL Server 2017 CU14 we have a new lightweight Extended Event (<strong><em>query_post_execution_plan_profile<\/em><\/strong>) which records the information of the actual execution plan. It is lightweight as it does not record wait types, heavy CPU and I\/O metrics.<\/p>\n\n\n\n<p>The script to create (I have set a threshold of 5 seconds and above):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">CREATE EVENT SESSION [query_post_execution_plan_profile] ON SERVER \nADD EVENT sqlserver.query_post_execution_plan_profile(SET collect_database_name=(0)\n    ACTION(sqlserver.client_hostname,sqlserver.database_name,sqlserver.plan_handle,sqlserver.sql_text)\n    WHERE ([package0].[greater_than_equal_uint64]([duration],(5000000))))\nADD TARGET package0.event_file(SET filename=N'c:\\xevents\\query_post_execution_plan_profile')\nWITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=ON)\nGO\n\nalter event session query_post_execution_plan_profile on server state=start;\ngo<\/pre>\n\n\n\n<p>To see the results with a single query that I painstakingly wrote to read the XML of the Extended Event:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">declare\n@xel as varchar(max),\n@xem as varchar(max),\n@xm as XML\n\nset @xel=(select \nSUBSTRING(cast(f.value as varchar(max)),1,len(cast(f.value as varchar(max)))-4)+'*.xel' as xel\nfrom sys.server_event_session_fields f\ninner join sys.server_event_sessions n on f.event_session_id = n.event_session_id\nWHERE f.NAME = 'filename' \nand n.name like '%post%') --Set xevent Name\n\nset @xem=(select \nSUBSTRING(cast(f.value as varchar(max)),1,len(cast(f.value as varchar(max)))-4)+'*.xem' as xem\nfrom sys.server_event_session_fields f\ninner join sys.server_event_sessions n on f.event_session_id = n.event_session_id\nWHERE f.NAME = 'filename' \nand n.name like '%post%')  --Set xevent Name\n\n;WITH XEvents AS\n(\nselect  object_name, TRY_CAST(event_data AS XML) AS A FROM sys.fn_xe_file_target_read_file(\n@xel\n,@xem\n, NULL, NULL) \n)\n\nSELECT\nA.value ('(\/event\/action[@name=''database_name'']\/value)[1]', 'VARCHAR(MAX)') AS DB_Name,\nDATEADD(HOUR,DATEDIFF(hour,  SYSUTCDATETIME(),SYSDATETIME() ),A.value ('(\/event\/@timestamp)[1]', 'DATETIME')) AS [Time],\nA.value ('(event\/data[@name=\"duration\"]\/value)[1]','bigint') \/ 1000000  AS [Duration_Seconds],\nA.value ('(\/event\/action[@name=''sql_text'']\/value)[1]', 'VARCHAR(MAX)') AS sql_text,\n--A.value ('(\/event\/action[@name=''query_hash_signed'']\/value)[1]', 'VARCHAR(MAX)') AS query_hash_signed,\n--A.value ('(\/event\/action[@name=''query_plan_hash_signed'']\/value)[1]', 'VARCHAR(MAX)') AS query_plan_hash_signed,\nA.value ('(\/event\/action[@name=''client_hostname'']\/value)[1]', 'VARCHAR(MAX)') AS client_hostname,\nA.value('(event\/data[@name=\"estimated_rows\"]\/value)[1]','bigint') AS row_count,\nA.value('(\/event\/data[@name=''cpu_time'']\/value)[1]','bigint') \/1000000 AS cpu_seconds,\nz.fragment.query('.') as showplan,\nA.value ('(\/event\/action[@name=''plan_handle'']\/value)[1]', 'VARCHAR(MAX)') AS plan_handle,\nA  AS xml_report\nfrom XEvents\nCROSS APPLY A.nodes('\/event\/data[@name=\"showplan_xml\"]\/value\/*') as z(fragment)\nwhere  1=1\n--and DATEADD(HOUR,DATEDIFF(hour,  SYSUTCDATETIME(),SYSDATETIME() ),A.value ('(\/event\/@timestamp)[1]', 'DATETIME'))  between '2020-05-20 10:45:00.000' and '2020-05-22 12:45:00.000'\n--and A.value ('(\/event\/action[@name=''database_name'']\/value)[1]', 'VARCHAR(MAX)') ='DB_test'\n--and A.value('(event\/data[@name=\"duration\"]\/value)[1]','bigint') \/ 1000000  >= 10 --sec\n\n<\/pre>\n\n\n\n<p>As we can see, it also brings us the shot that ran and by simply double-clicking on the hyperlink we will see its graphic.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"184\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-5.png\" alt=\"\" class=\"wp-image-2271\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-5.png 750w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-5-300x74.png 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"223\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-7.png\" alt=\"\" class=\"wp-image-2274\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-7.png 635w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/lqp-7-300x105.png 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u03c0\u03b7\u03b3\u03ad\u03c2\">Sources:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/performance\/query-profiling-infrastructure?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">Query Profiling Infrastructure<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/statements\/set-statistics-profile-transact-sql?view=sql-server-ver15\" target=\"_blank\" rel=\"noreferrer noopener\">SET STATISTICS PROFILE (Transact-SQL)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.sqlshack.com\/lightweight-performance-profiling-in-sql-server-2019\/\" target=\"_blank\" rel=\"noreferrer noopener\">Lightweight performance profiling in SQL Server 2019<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.brentozar.com\/archive\/2018\/10\/the-new-lightweight-query-plan-profile-hint\/\" target=\"_blank\" rel=\"noreferrer noopener\">The New Lightweight Query Plan Profile Hint<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Many times we will encounter queries that take too long to complete or never complete at all. To find what exactly is at fault the most useful information is the actual execution plan. As the actual execution plan requires the completion of the query, with live query statistics you provide the possibility for real-time information as you execute the query. Information such as [...]<\/p>","protected":false},"author":1,"featured_media":702,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,15],"tags":[29,99,23,48,6],"class_list":["post-2022","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-ms-sqlserver","tag-databases","tag-extended-events","tag-microsoft","tag-performance_tuning","tag-sqlserver"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling) - DataPlatform.gr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dataplatform.gr\/en\/to-query-profiling-ginetai-lightweight\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling) - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u03a0\u03bf\u03bb\u03bb\u03ad\u03c2 \u03b8\u03b1 \u03b1\u03bd\u03c4\u03b9\u03bc\u03b5\u03c4\u03c9\u03c0\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 queries \u03c0\u03bf\u03c5 \u03b1\u03c1\u03b3\u03bf\u03cd\u03bd \u03c0\u03bf\u03bb\u03cd \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03bf\u03cd\u03bd \u03ae \u03b4\u03b5\u03bd \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03ce\u03bd\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c0\u03bf\u03c4\u03ad. \u0393\u03b9\u03b1 \u03bd\u03b1 \u03b2\u03c1\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b9 \u03b1\u03ba\u03c1\u03b9\u03b2\u03ce\u03c2 \u03c6\u03c4\u03b1\u03af\u03b5\u03b9 \u03b7 \u03c0\u03b9\u03bf \u03c7\u03c1\u03ae\u03c3\u03b9\u03bc\u03b7 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b1 \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf actual execution plan. \u039a\u03b1\u03b8\u03ce\u03c2 \u03c4\u03bf actual execution plan \u03b1\u03c0\u03b1\u03b9\u03c4\u03b5\u03af \u03c4\u03b7\u03bd \u03bf\u03bb\u03bf\u03ba\u03bb\u03ae\u03c1\u03c9\u03c3\u03b7 \u03c4\u03bf\u03c5 query, \u03bc\u03b5 \u03c4\u03bf live query statistics \u03c0\u03b1\u03c1\u03ad\u03c7\u03b5\u03c4\u03b5 \u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03b3\u03b9\u03b1 real-time \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u03ba\u03b1\u03b8\u03ce\u03c2 \u03b5\u03ba\u03c4\u03b5\u03bb\u03b5\u03af\u03c4\u03b5 \u03c4\u03bf query. \u03a0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u03cc\u03c0\u03c9\u03c2 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/to-query-profiling-ginetai-lightweight\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-05T04:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-16T10:07:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling)\",\"datePublished\":\"2020-11-05T04:00:00+00:00\",\"dateModified\":\"2024-10-16T10:07:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/\"},\"wordCount\":212,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"keywords\":[\"Databases\",\"Extended Events\",\"Microsoft\",\"Performance Tuning\",\"SQL Server\"],\"articleSection\":[\"Databases\",\"Microsoft SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling) - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"datePublished\":\"2020-11-05T04:00:00+00:00\",\"dateModified\":\"2024-10-16T10:07:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_sqlserver.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/to-query-profiling-ginetai-lightweight\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Databases\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Microsoft SQL Server\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/ms-sqlserver\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling) - DataPlatform.gr","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dataplatform.gr\/en\/to-query-profiling-ginetai-lightweight\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling) - DataPlatform.gr","og_description":"\u03a0\u03bf\u03bb\u03bb\u03ad\u03c2 \u03b8\u03b1 \u03b1\u03bd\u03c4\u03b9\u03bc\u03b5\u03c4\u03c9\u03c0\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 queries \u03c0\u03bf\u03c5 \u03b1\u03c1\u03b3\u03bf\u03cd\u03bd \u03c0\u03bf\u03bb\u03cd \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03bf\u03cd\u03bd \u03ae \u03b4\u03b5\u03bd \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03ce\u03bd\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c0\u03bf\u03c4\u03ad. \u0393\u03b9\u03b1 \u03bd\u03b1 \u03b2\u03c1\u03bf\u03cd\u03bc\u03b5 \u03c4\u03b9 \u03b1\u03ba\u03c1\u03b9\u03b2\u03ce\u03c2 \u03c6\u03c4\u03b1\u03af\u03b5\u03b9 \u03b7 \u03c0\u03b9\u03bf \u03c7\u03c1\u03ae\u03c3\u03b9\u03bc\u03b7 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b1 \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf actual execution plan. \u039a\u03b1\u03b8\u03ce\u03c2 \u03c4\u03bf actual execution plan \u03b1\u03c0\u03b1\u03b9\u03c4\u03b5\u03af \u03c4\u03b7\u03bd \u03bf\u03bb\u03bf\u03ba\u03bb\u03ae\u03c1\u03c9\u03c3\u03b7 \u03c4\u03bf\u03c5 query, \u03bc\u03b5 \u03c4\u03bf live query statistics \u03c0\u03b1\u03c1\u03ad\u03c7\u03b5\u03c4\u03b5 \u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03b3\u03b9\u03b1 real-time \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u03ba\u03b1\u03b8\u03ce\u03c2 \u03b5\u03ba\u03c4\u03b5\u03bb\u03b5\u03af\u03c4\u03b5 \u03c4\u03bf query. \u03a0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u03cc\u03c0\u03c9\u03c2 [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/to-query-profiling-ginetai-lightweight\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2020-11-05T04:00:00+00:00","article_modified_time":"2024-10-16T10:07:20+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling)","datePublished":"2020-11-05T04:00:00+00:00","dateModified":"2024-10-16T10:07:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/"},"wordCount":212,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","keywords":["Databases","Extended Events","Microsoft","Performance Tuning","SQL Server"],"articleSection":["Databases","Microsoft SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/","url":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/","name":"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling) - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","datePublished":"2020-11-05T04:00:00+00:00","dateModified":"2024-10-16T10:07:20+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_sqlserver.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/to-query-profiling-ginetai-lightweight\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Databases","item":"https:\/\/www.dataplatform.gr\/category\/databases\/"},{"@type":"ListItem","position":3,"name":"Microsoft SQL Server","item":"https:\/\/www.dataplatform.gr\/category\/databases\/ms-sqlserver\/"},{"@type":"ListItem","position":4,"name":"\u03a0\u03ce\u03c2 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03c5\u03bc\u03b5 \u03c0\u03cc\u03c3\u03bf \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b8\u03ad\u03bb\u03b5\u03b9 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03b8\u03b5\u03af \u03c4\u03bf query \u03ba\u03b1\u03b9 \u03c0\u03bf\u03c5 \u03ba\u03b1\u03b8\u03c5\u03c3\u03c4\u03b5\u03c1\u03b5\u03af (SQL Server Query Profiling)"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=2022"}],"version-history":[{"count":3,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2022\/revisions"}],"predecessor-version":[{"id":5830,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2022\/revisions\/5830"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/702"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=2022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=2022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=2022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}