<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7287191875012775808</id><updated>2012-02-16T08:59:00.402+02:00</updated><category term='space'/><category term='table'/><category term='filegroup'/><category term='scale'/><category term='sql'/><category term='query hints'/><category term='precission'/><category term='ssas'/><category term='datatype'/><category term='mdx'/><category term='recompile'/><category term='optimization'/><category term='service broker'/><category term='partition'/><category term='size'/><category term='sql 2008'/><category term='numeric'/><category term='openquery'/><title type='text'>Aleksey Rybakov</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alekseyrybakov.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://alekseyrybakov.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>alien</name><uri>http://www.blogger.com/profile/09273081398510248994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7287191875012775808.post-554380152272964314</id><published>2010-07-29T14:23:00.002+03:00</published><updated>2010-07-29T14:27:13.113+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='precission'/><category scheme='http://www.blogger.com/atom/ns#' term='datatype'/><category scheme='http://www.blogger.com/atom/ns#' term='numeric'/><category scheme='http://www.blogger.com/atom/ns#' term='scale'/><title type='text'>И опять округления в mssql</title><content type='html'>&lt;style&gt;&lt;!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:204; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 415 0;}@font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:204; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-520092929 1073786111 9 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;}.MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;}.MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;}@page WordSection1 {size:612.0pt 792.0pt; margin:2.0cm 42.5pt 2.0cm 3.0cm; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;}div.WordSection1 {page:WordSection1;}--&gt;&lt;/style&gt;  &lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;Очередной раз разбираясь с проблемами ошибок округлений и точности данных типа &lt;/span&gt;numeric&lt;span lang="RU"&gt; в &lt;/span&gt;mssql&lt;span lang="RU"&gt; пришлось перелопатить &lt;/span&gt;BOL&lt;span lang="RU"&gt;. Собственно задачка была достаточно простая - надо было разделить два числа типа &lt;/span&gt;numeric&lt;span lang="RU"&gt;(16,7). Все бы хорошо, но... пример:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;declare&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; @n1 &lt;span style="color: blue;"&gt;numeric&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;16&lt;span style="color: grey;"&gt;,&lt;/span&gt;7&lt;span style="color: grey;"&gt;),&lt;/span&gt; @n2 &lt;span style="color: blue;"&gt;numeric&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;16&lt;span style="color: grey;"&gt;,&lt;/span&gt;7&lt;span style="color: grey;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;select&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; @n1&lt;span style="color: grey;"&gt;=&lt;/span&gt;1&lt;span style="color: grey;"&gt;,&lt;/span&gt; @n2&lt;span style="color: grey;"&gt;=&lt;/span&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;select&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; @n1&lt;span style="color: grey;"&gt;*&lt;/span&gt;@n2 &lt;span style="color: blue;"&gt;as&lt;/span&gt; mul&lt;span style="color: grey;"&gt;,&lt;/span&gt; @n2&lt;span style="color: grey;"&gt;/&lt;/span&gt;@n1 &lt;span style="color: blue;"&gt;as&lt;/span&gt; div&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: xx-small;"&gt;mul&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; div&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: xx-small;"&gt;--------------------------------------- ---------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: xx-small;"&gt;1.00000000000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.0000000000000000000000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;Количество нолей для mul – 14, для &lt;/span&gt;div&lt;span lang="RU"&gt; - 22&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;А почему для DIV-а появляется столько нулей? Правила умножения и деления для numeric(&lt;/span&gt;p&lt;span lang="RU"&gt;,&lt;/span&gt;s&lt;span lang="RU"&gt;) в MSSQL:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border="1" cellpadding="0" cellspacing="0" class="MsoTableLightListAccent1" style="border-collapse: collapse; border: medium none; width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;   &lt;td style="background: none repeat scroll 0% 0% rgb(79, 129, 189); border-color: rgb(79, 129, 189) -moz-use-text-color -moz-use-text-color rgb(79, 129, 189); border-style: solid none none solid; border-width: 1pt medium medium 1pt; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: white;"&gt;Operation &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="background: none repeat scroll 0% 0% rgb(79, 129, 189); border-color: rgb(79, 129, 189) -moz-use-text-color -moz-use-text-color; border-style: solid none none; border-width: 1pt medium medium; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: white;"&gt;Result precision &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="background: none repeat scroll 0% 0% rgb(79, 129, 189); border-color: rgb(79, 129, 189) rgb(79, 129, 189) -moz-use-text-color -moz-use-text-color; border-style: solid solid none none; border-width: 1pt 1pt medium medium; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: white;"&gt;Result scale * &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td style="border-color: rgb(79, 129, 189) -moz-use-text-color rgb(79, 129, 189) rgb(79, 129, 189); border-style: solid none solid solid; border-width: 1pt medium 1pt 1pt; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;b&gt;e1 * e2&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: rgb(79, 129, 189) -moz-use-text-color; border-style: solid none; border-width: 1pt medium; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;p1 + p2 + 1&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: rgb(79, 129, 189) rgb(79, 129, 189) rgb(79, 129, 189) -moz-use-text-color; border-style: solid solid solid none; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;s1 + s2&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td style="border-color: -moz-use-text-color -moz-use-text-color rgb(79, 129, 189) rgb(79, 129, 189); border-style: none none solid solid; border-width: medium medium 1pt 1pt; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;b&gt;e1 / e2&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: -moz-use-text-color -moz-use-text-color rgb(79, 129, 189); border-style: none none solid; border-width: medium medium 1pt; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;p1 - s1 + s2 + max(6, s1 + p2 + 1)&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: -moz-use-text-color rgb(79, 129, 189) rgb(79, 129, 189) -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt;" valign="top"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;max(6, s1 + p2 + 1)&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;Т.е. для данного примера получается следующее:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;table border="1" cellpadding="0" cellspacing="0" class="MsoTableLightListAccent1" style="border-collapse: collapse; border: medium none; width: 99.84%;"&gt;&lt;tbody&gt;&lt;tr&gt;   &lt;td style="background: none repeat scroll 0% 0% rgb(79, 129, 189); border-color: rgb(79, 129, 189) -moz-use-text-color -moz-use-text-color rgb(79, 129, 189); border-style: solid none none solid; border-width: 1pt medium medium 1pt; padding: 0cm 5.4pt; width: 12.74%;" valign="top" width="12%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: white;"&gt;Операция &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="background: none repeat scroll 0% 0% rgb(79, 129, 189); border-color: rgb(79, 129, 189) -moz-use-text-color -moz-use-text-color; border-style: solid none none; border-width: 1pt medium medium; padding: 0cm 5.4pt; width: 31.28%;" valign="top" width="31%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span lang="RU" style="color: white;"&gt;Точность&lt;/span&gt;&lt;span lang="RU" style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="background: none repeat scroll 0% 0% rgb(79, 129, 189); border-color: rgb(79, 129, 189) -moz-use-text-color -moz-use-text-color; border-style: solid none none; border-width: 1pt medium medium; padding: 0cm 5.4pt; width: 25.86%;" valign="top" width="25%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span lang="RU" style="color: white;"&gt;Масштаб&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="background: none repeat scroll 0% 0% rgb(79, 129, 189); border-color: rgb(79, 129, 189) rgb(79, 129, 189) -moz-use-text-color -moz-use-text-color; border-style: solid solid none none; border-width: 1pt 1pt medium medium; padding: 0cm 5.4pt; width: 30.1%;" valign="top" width="30%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span lang="RU" style="color: white;"&gt;Итоговый тип&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td style="border-color: rgb(79, 129, 189) -moz-use-text-color rgb(79, 129, 189) rgb(79, 129, 189); border-style: solid none solid solid; border-width: 1pt medium 1pt 1pt; padding: 0cm 5.4pt; width: 12.74%;" valign="top" width="12%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;b&gt;e1 * e2&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: rgb(79, 129, 189) -moz-use-text-color; border-style: solid none; border-width: 1pt medium; padding: 0cm 5.4pt; width: 31.28%;" valign="top" width="31%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span lang="RU"&gt;16&lt;/span&gt;   + &lt;span lang="RU"&gt;16&lt;/span&gt; + 1&lt;span lang="RU"&gt; = 33&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: rgb(79, 129, 189) -moz-use-text-color; border-style: solid none; border-width: 1pt medium; padding: 0cm 5.4pt; width: 25.86%;" valign="top" width="25%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span lang="RU"&gt;7&lt;/span&gt;   + &lt;span lang="RU"&gt;7 = 14&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: rgb(79, 129, 189) rgb(79, 129, 189) rgb(79, 129, 189) -moz-use-text-color; border-style: solid solid solid none; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 30.1%;" valign="top" width="30%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span lang="RU"&gt;Numeric(&lt;/span&gt;33,14)&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td style="border-color: -moz-use-text-color -moz-use-text-color rgb(79, 129, 189) rgb(79, 129, 189); border-style: none none solid solid; border-width: medium medium 1pt 1pt; padding: 0cm 5.4pt; width: 12.74%;" valign="top" width="12%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;b&gt;e1 / e2&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: -moz-use-text-color -moz-use-text-color rgb(79, 129, 189); border-style: none none solid; border-width: medium medium 1pt; padding: 0cm 5.4pt; width: 31.28%;" valign="top" width="31%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;16 – 7 + 7 + max(6, 7 + 16 + 1) = 40&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: -moz-use-text-color -moz-use-text-color rgb(79, 129, 189); border-style: none none solid; border-width: medium medium 1pt; padding: 0cm 5.4pt; width: 25.86%;" valign="top" width="25%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;max(6, 16 + 7 + 1) = 24&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="border-color: -moz-use-text-color rgb(79, 129, 189) rgb(79, 129, 189) -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 30.1%;" valign="top" width="30%"&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;Numeric(40, 24)&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;Все было бы хорошо, но согласно правил мы должны получить 24 нуля в дробной части при делении, а мы получили только 22. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;Тут не стоит забывать о том, что в MSSQL максимальная точность для numeric – 38 разрядов. Из-за этого в результате деления двух numeric-ов будут потеряны 2 разряда. &amp;nbsp;Согласно BOL для сохранения точности целой части результата будет сокращена дробная часть итогового числа, т.е. в результате получим тип&amp;nbsp; numeric(38,22).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;Поосторожней надо быть с такой разрядностью :)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7287191875012775808-554380152272964314?l=alekseyrybakov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alekseyrybakov.blogspot.com/feeds/554380152272964314/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://alekseyrybakov.blogspot.com/2010/07/mssql.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/554380152272964314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/554380152272964314'/><link rel='alternate' type='text/html' href='http://alekseyrybakov.blogspot.com/2010/07/mssql.html' title='И опять округления в mssql'/><author><name>alien</name><uri>http://www.blogger.com/profile/09273081398510248994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7287191875012775808.post-4884906615047566888</id><published>2010-07-16T18:29:00.001+03:00</published><updated>2010-07-29T14:26:35.404+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='query hints'/><category scheme='http://www.blogger.com/atom/ns#' term='recompile'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><title type='text'>А вы используете recompile?</title><content type='html'>&lt;style&gt;&lt;!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:204; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 415 0;}@font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-alt:"Century Gothic"; mso-font-charset:204; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-520092929 1073786111 9 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin;}.MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;}@page WordSection1 {size:612.0pt 792.0pt; margin:2.0cm 42.5pt 2.0cm 3.0cm; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;}div.WordSection1 {page:WordSection1;}--&gt;&lt;/style&gt;  &lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;А кто-нибудь пользуется для параметризированных запросов хинтом &lt;/span&gt;recompile&lt;span lang="RU"&gt;? Хинт заставляет оптимизатор запросов вычислить и упростить условие where, поставляя значения параметров, актуальные на момент выполнения &amp;nbsp;запроса как константы. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;Вот как отличаются планы выполнения одного и того же запроса с хинтом и без него:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;declare&lt;/span&gt; @date &lt;span style="color: blue;"&gt;datetime&lt;/span&gt; &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'20100710'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;declare&lt;/span&gt; @df &lt;span style="color: blue;"&gt;datetime&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; @dt &lt;span style="color: blue;"&gt;datetime&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;select&lt;/span&gt; @df &lt;span style="color: grey;"&gt;=&lt;/span&gt; @date&lt;span style="color: grey;"&gt;,&lt;/span&gt; @dt &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: magenta;"&gt;DATEADD&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: magenta;"&gt;day&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; 1&lt;span style="color: grey;"&gt;,&lt;/span&gt; @date&lt;span style="color: grey;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;-- запрос без recompile&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;select&lt;/span&gt; filID&lt;span style="color: grey;"&gt;,&lt;/span&gt; lagerID&lt;span style="color: grey;"&gt;,&lt;/span&gt; kolvo&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;span style="color: blue;"&gt;date&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; operationID&lt;span style="color: grey;"&gt;,&lt;/span&gt; parentid &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;from&lt;/span&gt; movement&lt;span style="color: grey;"&gt;..&lt;/span&gt;fact_movement &lt;span style="color: blue;"&gt;with &lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;nolock&lt;/span&gt;&lt;span style="color: grey;"&gt;)&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;where&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; operationID &lt;span style="color: grey;"&gt;in&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;3&lt;span style="color: grey;"&gt;,&lt;/span&gt;23&lt;span style="color: grey;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;and&lt;/span&gt; &lt;span style="color: blue;"&gt;date&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;gt;=&lt;/span&gt;@df &lt;span style="color: grey;"&gt;and&lt;/span&gt; &lt;span style="color: blue;"&gt;date&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;&lt;/span&gt;@dt &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;-- &lt;/span&gt;&lt;/span&gt;&lt;span lang="RU" style="color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;запрос с&lt;/span&gt;&lt;span style="color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; recompile&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;select&lt;/span&gt; filID&lt;span style="color: grey;"&gt;,&lt;/span&gt; lagerID&lt;span style="color: grey;"&gt;,&lt;/span&gt; kolvo&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;span style="color: blue;"&gt;date&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; operationID&lt;span style="color: grey;"&gt;,&lt;/span&gt; parentid &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;from&lt;/span&gt; movement&lt;span style="color: grey;"&gt;..&lt;/span&gt;fact_movement &lt;span style="color: blue;"&gt;with &lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;nolock&lt;/span&gt;&lt;span style="color: grey;"&gt;)&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;where&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; operationID &lt;span style="color: grey;"&gt;in&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;3&lt;span style="color: grey;"&gt;,&lt;/span&gt;23&lt;span style="color: grey;"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;and&lt;/span&gt; &lt;span style="color: blue;"&gt;date&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;gt;=&lt;/span&gt;@df &lt;span style="color: grey;"&gt;and&lt;/span&gt; &lt;span style="color: blue;"&gt;date&lt;/span&gt;&lt;span style="color: grey;"&gt;&amp;lt;&lt;/span&gt;@dt &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;option &lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;recompile&lt;/span&gt;&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="color: grey;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;style&gt;&lt;!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:204; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 415 0;}@font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-alt:"Century Gothic"; mso-font-charset:204; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-520092929 1073786111 9 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin;}.MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;}@page WordSection1 {size:612.0pt 792.0pt; margin:2.0cm 42.5pt 2.0cm 3.0cm; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;}div.WordSection1 {page:WordSection1;}--&gt;&lt;/style&gt;  &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;первый запрос (идет скан кластерного индекса):&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://3.bp.blogspot.com/_S1NzlO2vtCQ/TEB5LMQEfQI/AAAAAAAAATU/nFINTudQNvQ/s1600/ut1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://3.bp.blogspot.com/_S1NzlO2vtCQ/TEB5LMQEfQI/AAAAAAAAATU/nFINTudQNvQ/s400/ut1.png" width="400" /&gt;&lt;/a&gt;&lt;span lang="RU"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;а вот что происходит при добавлении option (recompile):&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://4.bp.blogspot.com/_S1NzlO2vtCQ/TEB5nRdUrHI/AAAAAAAAATc/DecM-OqvnAA/s1600/ut2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_S1NzlO2vtCQ/TEB5nRdUrHI/AAAAAAAAATc/DecM-OqvnAA/s320/ut2.png" style="cursor: move;" /&gt;&lt;/a&gt;&lt;span lang="RU"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_S1NzlO2vtCQ/TEB5z8dmmII/AAAAAAAAATk/pk_zaSqsEgs/s1600/ut3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_S1NzlO2vtCQ/TEB5z8dmmII/AAAAAAAAATk/pk_zaSqsEgs/s320/ut3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="RU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7287191875012775808-4884906615047566888?l=alekseyrybakov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alekseyrybakov.blogspot.com/feeds/4884906615047566888/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://alekseyrybakov.blogspot.com/2010/07/recompile.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/4884906615047566888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/4884906615047566888'/><link rel='alternate' type='text/html' href='http://alekseyrybakov.blogspot.com/2010/07/recompile.html' title='А вы используете recompile?'/><author><name>alien</name><uri>http://www.blogger.com/profile/09273081398510248994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_S1NzlO2vtCQ/TEB5LMQEfQI/AAAAAAAAATU/nFINTudQNvQ/s72-c/ut1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7287191875012775808.post-6404728631670051028</id><published>2009-09-01T12:58:00.006+03:00</published><updated>2010-07-16T18:29:13.975+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='partition'/><category scheme='http://www.blogger.com/atom/ns#' term='filegroup'/><category scheme='http://www.blogger.com/atom/ns#' term='space'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><category scheme='http://www.blogger.com/atom/ns#' term='size'/><title type='text'>Использование сегментов данных таблицами</title><content type='html'>В одной из баз очень активно используется сегментирование. Наиболее тяжелые таблицы данных разбиты по сегментам и лежат в своих секциях в отдельных файлах файловых групп. Но почему-то файловая группа PRIMARY разрослась до 20Гб...&lt;br /&gt;&lt;br /&gt;Периодически копая эту тему в BOL-е и интернете я наткнулся вот на этот пост: &lt;a href="http://williamweber.net/?p=21"&gt;Table Disk Space Usage By Filegroup and Partition&lt;/a&gt;. Для полного счастья не хватало связок из sys.destination_data_spaces :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7287191875012775808-6404728631670051028?l=alekseyrybakov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alekseyrybakov.blogspot.com/feeds/6404728631670051028/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://alekseyrybakov.blogspot.com/2009/09/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/6404728631670051028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/6404728631670051028'/><link rel='alternate' type='text/html' href='http://alekseyrybakov.blogspot.com/2009/09/blog-post.html' title='Использование сегментов данных таблицами'/><author><name>alien</name><uri>http://www.blogger.com/profile/09273081398510248994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7287191875012775808.post-8098467769734313903</id><published>2009-07-30T00:46:00.004+03:00</published><updated>2009-09-01T13:21:11.306+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='service broker'/><title type='text'>закрытые диалоги в service broker</title><content type='html'>Service Broker после завершения диалогов в пределах одного сервера может оставлять их в состоянии "CLOSED"  не чистить системные таблицы. Проверить можно запросом:&lt;br /&gt;&lt;br /&gt;select count(*) from sys.conversation_endpoints where state='CD'&lt;br /&gt;&lt;br /&gt;"Это нормальная ситуация" (c) Remus Rusanu &lt;a href="http://social.msdn.microsoft.com/forums/en-US/sqlservicebroker/thread/1605e757-0395-45e0-82ba-7a247cced78f/"&gt;на форуме MSDN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Почистить их можно например вот так:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;declare @conversationHandle uniqueidentifier&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;select top 1 @conversationHandle = conversation_handle from sys.conversation_endpoints where state='CD'&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;while @@rowcount = 1&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;begin&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;end conversation @conversationHandle with cleanup&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;select top 1 @conversationHandle = conversation_handle from sys.conversation_endpoints where state='CD'&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: x-small;"&gt;end&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7287191875012775808-8098467769734313903?l=alekseyrybakov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alekseyrybakov.blogspot.com/feeds/8098467769734313903/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://alekseyrybakov.blogspot.com/2009/07/service-broker.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/8098467769734313903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/8098467769734313903'/><link rel='alternate' type='text/html' href='http://alekseyrybakov.blogspot.com/2009/07/service-broker.html' title='закрытые диалоги в service broker'/><author><name>alien</name><uri>http://www.blogger.com/profile/09273081398510248994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7287191875012775808.post-6658379563632432554</id><published>2009-07-28T23:55:00.000+03:00</published><updated>2009-07-28T23:59:25.210+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mdx'/><category scheme='http://www.blogger.com/atom/ns#' term='ssas'/><category scheme='http://www.blogger.com/atom/ns#' term='openquery'/><title type='text'>MDX to SQL</title><content type='html'>А как получить данные из Analysis Services в SQL? А &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/f412634a-1c83-42f1-926f-a01c6d5a3d12"&gt;вот здесь&lt;/a&gt; обсуждается производительность различных методов доступа.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7287191875012775808-6658379563632432554?l=alekseyrybakov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alekseyrybakov.blogspot.com/feeds/6658379563632432554/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://alekseyrybakov.blogspot.com/2009/07/mdx-to-sql.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/6658379563632432554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7287191875012775808/posts/default/6658379563632432554'/><link rel='alternate' type='text/html' href='http://alekseyrybakov.blogspot.com/2009/07/mdx-to-sql.html' title='MDX to SQL'/><author><name>alien</name><uri>http://www.blogger.com/profile/09273081398510248994</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
