{"id":6045,"date":"2016-06-29T11:01:37","date_gmt":"2016-06-29T10:01:37","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=6045"},"modified":"2022-11-21T16:19:33","modified_gmt":"2022-11-21T15:19:33","slug":"dmv-et-probleme-de-tri","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/","title":{"rendered":"DMV et probl\u00e8me de tri"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6045&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6045&#038;title=DMV%20et%20probl%C3%A8me%20de%20tri\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=DMV%20et%20probl%C3%A8me%20de%20tri&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6045\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Un probl\u00e8me int\u00e9ressant ce matin sur un SQL Server 2014 SP1 (12.0.4457.0). Une simple requ\u00eate pour remonter les 20 requ\u00eates les plus consommatrices depuis le dernier restart de l&#8217;instance par utilisation CPU:<\/p>\n<pre name=\"code\" class=\"sql\">select top 20\r\nS.text 'SQLtext', STAT.execution_count 'Plan reuse (total executions)', \r\nSTAT.plan_generation_num 'Plans generations', \r\nSTAT.creation_time 'Last compile time',\r\nSTAT.last_execution_time 'Last execution time',\r\nSTAT.total_worker_time\/1000 'Total CPU time (ms)', \r\nSTAT.total_worker_time\/1000\/STAT.execution_count 'CPU time\/exec (ms)',\r\nSTAT.total_elapsed_time\/1000 'Total Elapsed (ms)',  \r\nSTAT.total_elapsed_time\/1000\/STAT.execution_count 'Total Elapsed\/exec (ms)',\r\nSTAT.total_logical_reads 'Total Logical Reads', \r\nSTAT.total_logical_reads\/STAT.execution_count 'Logical Reads\/exec', \r\nSTAT.total_physical_reads 'Total Physical Reads', \r\nSTAT.total_physical_reads\/STAT.execution_count 'Physical Reads\/exec', \r\nSTAT.total_logical_writes 'Total Logical Writes',\r\n STAT.total_logical_writes\/STAT.execution_count 'Logical Writes\/exec', \r\nP.query_plan 'Last query Plan'\r\nfrom sys.dm_exec_query_stats STAT with (NOLOCK)\r\ncross apply sys.dm_exec_sql_text(STAT.sql_handle) S\r\ncross apply sys.dm_exec_query_plan(STAT.plan_handle) P\r\norder by STAT.total_worker_time\/1000 desc<\/pre>\n<p>Tout est en m\u00e9moire (DMV), le query memory grant de 1Mb est accord\u00e9 imm\u00e9diatement, au niveau des attentes, que du SOS_SCHEDULER_YIELD, et pourtant apr\u00e8s 18 minutes d&#8217;ex\u00e9cution voil\u00e0 o\u00f9 j&#8217;en suis:.<\/p>\n<pre name=\"code\" class=\"sql\">SELECT node_id,\r\nphysical_operator_name,\r\nCAST(SUM(row_count)*100 AS float) \/ SUM(estimate_row_count) AS percent_complete,\r\nSUM(elapsed_time_ms) AS elapsed_time_ms,\r\nSUM(cpu_time_ms) AS cpu_time_ms,\r\nSUM(logical_read_count) AS logical_read_count,\r\nSUM(physical_read_count) AS physical_read_count,\r\nSUM(write_page_count) AS write_page_count,\r\nSUM(row_count) AS row_count,\r\nSUM(estimate_row_count) AS estimate_row_count\r\nFROM sys.dm_exec_query_profiles\r\nWHERE session_id = 435 \r\nGROUP BY node_id,\r\nphysical_operator_name\r\nORDER BY node_id;<\/pre>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_results.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6057\" title=\"query_profiles_results\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_results.png\" alt=\"\" width=\"1027\" height=\"173\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_results.png 1027w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_results-300x50.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_results-768x129.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_results-1024x172.png 1024w\" sizes=\"auto, (max-width: 1027px) 100vw, 1027px\" \/><\/a><br \/>\n&nbsp;<br \/>\n14% seulement des lignes trait\u00e9es remont\u00e9es par sys.dm_exec_query_profiles (merci SQL 2014 au passage). Si on regarde le nombre de lignes qui remontent vers le tri par seconde, c&#8217;est affligeant:<\/p>\n<pre name=\"code\" class=\"sql\">if (OBJECT_ID('tempdb..#diffrowspersec1') is not null)\r\n\tdrop table #diffrowspersec1 ;\r\nif (OBJECT_ID('tempdb..#diffrowspersec2') is not null)\r\n\tdrop table #diffrowspersec2 ;\r\ncreate table #diffrowspersec1(node_id int, relop varchar(64), rows bigint);\r\ncreate table #diffrowspersec2(node_id int, relop varchar(64), rows bigint);\r\ninsert into #diffrowspersec1 select node_id, physical_operator_name, SUM(row_count) \r\nFROM sys.dm_exec_query_profiles WHERE session_id = 435 group by node_id, physical_operator_name; \r\nwaitfor delay '00:00:01' ;\r\ninsert into #diffrowspersec2 select node_id, physical_operator_name, SUM(row_count)\r\n FROM sys.dm_exec_query_profiles WHERE session_id = 435 group by node_id, physical_operator_name; \r\nselect D1.node_id, D1.relop, D2.rows - D1.rows as 'rows per sec'\r\nfrom #diffrowspersec1 D1 join #diffrowspersec2 D2 on D1.node_id = D2.node_id\r\norder by D1.node_id;<\/pre>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_rows_per_sec.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6060\" title=\"query_profiles_rows_per_sec\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/query_profiles_rows_per_sec.png\" alt=\"\" width=\"270\" height=\"177\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Et le tri lui n&#8217;a pas commenc\u00e9 \u00e0 produire des lignes plus haut, c&#8217;est un op\u00e9rateur bloquant donc il doit consommer tout le jeu de donn\u00e9es avant.<\/p>\n<p>Au final , la requ\u00eate aboutit au bout de 35 minutes.\u00a0Le co\u00fbt 235.7:<\/p>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats_summary.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6050\" title=\"plan1_query_stats_summary\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats_summary.png\" alt=\"\" width=\"645\" height=\"390\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats_summary.png 645w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats_summary-300x181.png 300w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Le plan:<\/p>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6052\" title=\"plan1_query_stats\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats1.png\" alt=\"\" width=\"1342\" height=\"251\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats1.png 1342w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats1-300x56.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats1-768x144.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan1_query_stats1-1024x191.png 1024w\" sizes=\"auto, (max-width: 1342px) 100vw, 1342px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>335Mb de donn\u00e9es \u00e0 trier quand m\u00eame. Principalement \u00e0 cause de ce que repr\u00e9sentent le texte SQL d&#8217;une part, mais surtout les plans XML d&#8217;autre part. Ce qui est \u00e9tonnant, c&#8217;est qu&#8217;aucun sort warning ne soit d\u00e9tect\u00e9 lors de l&#8217;ex\u00e9cution, alors qu&#8217;on voit bien que la session a g\u00e9n\u00e9r\u00e9 des Gb d&#8217;objets internes dans tempdb:<\/p>\n<pre name=\"code\" class=\"sql\">select session_id, internal_objects_alloc_page_count\/128 as 'Internal Alloc Mb', \r\ninternal_objects_dealloc_page_count\/128 as  'Internal Dealloc Mb'\r\nfrom tempdb.sys.dm_db_session_space_usage where session_id=435 ;<\/pre>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/internal_allocation_435.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6091\" title=\"internal_allocation_435\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/internal_allocation_435.png\" alt=\"\" width=\"309\" height=\"32\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/internal_allocation_435.png 309w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/internal_allocation_435-300x31.png 300w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/><\/a><br \/>\n&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>A partir de l\u00e0, pour minimiser l&#8217;impact de la taille des donn\u00e9es sur le tri je d\u00e9cide de trier les 20 premi\u00e8res sql_handle \/ plan_handle seulement avec les donn\u00e9es op\u00e9rationnelles dans une CTE, puis ensuite concat\u00e9ner les requ\u00eates et les plans avec un CROSS APPLY:<\/p>\n<pre name=\"code\" class=\"sql\">WITH CTE AS (select top 20\r\nSTAT.sql_handle, STAT.plan_handle, \r\nSTAT.execution_count 'Plan reuse (total executions)',\r\n STAT.plan_generation_num 'Plans generations',\r\nSTAT.creation_time 'Last compile time',\r\nSTAT.last_execution_time 'Last execution time',\r\nSTAT.total_worker_time\/1000 'Total CPU time (ms)', \r\nSTAT.total_worker_time\/1000\/STAT.execution_count 'CPU time\/exec (ms)',\r\nSTAT.total_elapsed_time\/1000 'Total Elapsed (ms)',\r\n STAT.total_elapsed_time\/1000\/STAT.execution_count 'Total Elapsed\/exec (ms)',\r\nSTAT.total_logical_reads 'Total Logical Reads',\r\n STAT.total_logical_reads\/STAT.execution_count 'Logical Reads\/exec',\r\nSTAT.total_physical_reads 'Total Physical Reads',\r\n STAT.total_physical_reads\/STAT.execution_count 'Physical Reads\/exec',\r\nSTAT.total_logical_writes 'Total Logical Writes', \r\nSTAT.total_logical_writes\/STAT.execution_count 'Logical Writes\/exec'\r\nfrom sys.dm_exec_query_stats STAT with (NOLOCK)\r\norder by STAT.total_worker_time\/1000 desc)\r\nselect SQ.text, CTE.*, P.query_plan\r\nFROM CTE\r\ncross apply sys.dm_exec_sql_text(CTE.sql_handle) SQ\r\ncross apply sys.dm_exec_query_plan(CTE.plan_handle) P;<\/pre>\n<p>Le co\u00fbt tombe \u00e0 11.43, la requ\u00eate s&#8217;ex\u00e9cute instantan\u00e9ment:<\/p>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats_summary.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6055\" title=\"plan2_query_stats_summary\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats_summary.png\" alt=\"\" width=\"676\" height=\"388\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats_summary.png 676w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats_summary-300x172.png 300w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Le plan:<\/p>\n<p><a href=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6056\" title=\"plan2_query_stats\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats.png\" alt=\"\" width=\"1221\" height=\"205\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats.png 1221w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats-300x50.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats-768x129.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/plan2_query_stats-1024x171.png 1024w\" sizes=\"auto, (max-width: 1221px) 100vw, 1221px\" \/><\/a><\/p>\n<p>Plus que 6Mb \u00e0 trier. Et on voit les cross apply passer une fois le sort effectu\u00e9 dans sa totalit\u00e9.<\/p>\n<p>Donc conclusion, il faut bien faire attention \u00e0 la logique de la requ\u00eate lorsqu&#8217;un tri est impliqu\u00e9. Et regarder la taille des donn\u00e9es impliqu\u00e9es tout autant que le nombre de lignes. Dans le cas pr\u00e9sent, particuli\u00e8rement sur les DMV sys.dm_exec_sql_text et sys.dm_exec_query_plan.<\/p>\n<p>En ce qui me concerne, je n&#8217;aurai pas le fin mot de l&#8217;histoire notamment le sort warning, mais j&#8217;ai modifi\u00e9 la requ\u00eate de r\u00e9f\u00e9rence dans ma boite \u00e0 outils pour tenir compte de cette d\u00e9rive. Et je vous conseille de regarder si vous n&#8217;avez pas une requ\u00eate similaire de votre c\u00f4t\u00e9 \ud83d\ude42 S&#8217;il y en a parmi vous qui observent le m\u00eame comportement, faites-moi signe !<\/p>\n<p>A+<\/p>\n<p>&nbsp;<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6045&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6045&#038;title=DMV%20et%20probl%C3%A8me%20de%20tri\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=DMV%20et%20probl%C3%A8me%20de%20tri&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F6045\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Un probl\u00e8me int\u00e9ressant ce matin sur un SQL Server 2014 SP1 (12.0.4457.0). Une simple requ\u00eate pour remonter les 20 requ\u00eates les plus consommatrices depuis le dernier restart de l&#8217;instance par utilisation CPU: select top 20 S.text &#8216;SQLtext&#8217;, STAT.execution_count &#8216;Plan reuse&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":7812,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[274,221,250],"class_list":["post-6045","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sqlserver","tag-dmv","tag-performance","tag-query-memory-grants"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DMV et probl\u00e8me de tri - Capdata TECH BLOG<\/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:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DMV et probl\u00e8me de tri - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Un probl\u00e8me int\u00e9ressant ce matin sur un SQL Server 2014 SP1 (12.0.4457.0). Une simple requ\u00eate pour remonter les 20 requ\u00eates les plus consommatrices depuis le dernier restart de l&#8217;instance par utilisation CPU: select top 20 S.text &#039;SQLtext&#039;, STAT.execution_count &#039;Plan reuse&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-29T10:01:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T15:19:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/dmvettri.png\" \/>\n\t<meta property=\"og:image:width\" content=\"659\" \/>\n\t<meta property=\"og:image:height\" content=\"384\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Baffaleuf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Baffaleuf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\"},\"author\":{\"name\":\"David Baffaleuf\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\"},\"headline\":\"DMV et probl\u00e8me de tri\",\"datePublished\":\"2016-06-29T10:01:37+00:00\",\"dateModified\":\"2022-11-21T15:19:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\"},\"wordCount\":457,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"dmv\",\"performance\",\"query memory grants\"],\"articleSection\":[\"SQL Server\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\",\"name\":\"DMV et probl\u00e8me de tri - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2016-06-29T10:01:37+00:00\",\"dateModified\":\"2022-11-21T15:19:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DMV et probl\u00e8me de tri\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\",\"name\":\"David Baffaleuf\",\"sameAs\":[\"http:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DMV et probl\u00e8me de tri - Capdata TECH BLOG","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:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/","og_locale":"fr_FR","og_type":"article","og_title":"DMV et probl\u00e8me de tri - Capdata TECH BLOG","og_description":"Un probl\u00e8me int\u00e9ressant ce matin sur un SQL Server 2014 SP1 (12.0.4457.0). Une simple requ\u00eate pour remonter les 20 requ\u00eates les plus consommatrices depuis le dernier restart de l&#8217;instance par utilisation CPU: select top 20 S.text 'SQLtext', STAT.execution_count 'Plan reuse&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2016-06-29T10:01:37+00:00","article_modified_time":"2022-11-21T15:19:33+00:00","og_image":[{"width":659,"height":384,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2016\/06\/dmvettri.png","type":"image\/png"}],"author":"David Baffaleuf","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"David Baffaleuf","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/"},"author":{"name":"David Baffaleuf","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf"},"headline":"DMV et probl\u00e8me de tri","datePublished":"2016-06-29T10:01:37+00:00","dateModified":"2022-11-21T15:19:33+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/"},"wordCount":457,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["dmv","performance","query memory grants"],"articleSection":["SQL Server"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/","url":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/","name":"DMV et probl\u00e8me de tri - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2016-06-29T10:01:37+00:00","dateModified":"2022-11-21T15:19:33+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/dmv-et-probleme-de-tri\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"DMV et probl\u00e8me de tri"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf","name":"David Baffaleuf","sameAs":["http:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=6045"}],"version-history":[{"count":69,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6045\/revisions"}],"predecessor-version":[{"id":9495,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/6045\/revisions\/9495"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7812"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=6045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=6045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=6045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}