<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlserver.ro/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>T-SQL</title><link>http://sqlserver.ro/forums/15/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6179.aspx</link><pubDate>Mon, 17 Nov 2008 09:19:10 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6179</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6179.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6179</wfw:commentRss><description>Cred ca am rezolvat problema.&lt;br&gt;Cand am transformat in select @comp l-am facut char(2) nu int cum era in procedura.&lt;br&gt;Modificand parametrul procedurii in char(2) merge la 1 sec.&lt;br&gt;Multumesc ptr. sugestii.&lt;br&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6178.aspx</link><pubDate>Mon, 17 Nov 2008 09:13:47 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6178</guid><dc:creator>liviu.costea</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6178.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6178</wfw:commentRss><description>&lt;P&gt;Inainte sa&amp;nbsp;intru mai adanc in detalii 2 lucruri nu le inteleg aici:&lt;/P&gt;
&lt;P&gt;Cum poate ca in primul select cheia primara din tabela stocuri sa fie aceeasi ca din tabela cont. Oricum ar fi relatia a doua parte c1.compart = @comp nu isi are rostul pentru ca deja faci pk = ceva, si asta iti da doar o inregistrare: poate conditia trebuie pusa in subquery sau poate pk_key nu e de fapt cheie primara sau poate nu am inteles nimic inca :).&lt;/P&gt;
&lt;P&gt;Aceeasi problem cu&amp;nbsp;conditia (c1.compart&amp;nbsp;= @comp)&amp;nbsp;e si pentru al doilea select, doar ca aici e aceeasi tabela.&lt;/P&gt;
&lt;P&gt;Fara nici o legatura cu performanta, primul lucru care l-as schimba ar fi aliasurile, din c1 si c2 in niste nume sugestive pentru tabelele care le reprezinta. Cred ca vezi si tu ca e greu de urmarit asa. Ar mai fi si niste chestii foarte mici de performanta, dar mai intai lamureste-ma cu astea.&lt;/P&gt;
&lt;P&gt;Mersi.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6177.aspx</link><pubDate>Mon, 17 Nov 2008 08:37:44 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6177</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6177.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6177</wfw:commentRss><description>Dacă execuţia procedurii stocate are o durată mult mai mare decât cea a &lt;a href="http://sqlserver.ro/forums/permalink/6176/6174/ShowThread.aspx#6174"&gt;scriptului&lt;/a&gt; atunci încearcă:&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DBCC&lt;/span&gt; DROPCLEANBUFFERS&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DBCC&lt;/span&gt; FREEPROCCACHE&lt;br&gt;GO&lt;/span&gt;&lt;br&gt;&lt;br&gt;... deşi pare a fi puţin probabil ("... Oricum chiar daca scot SP si pun selectul incarcarea unui Dataset (sau DataReader) dureaza la fel de mult")&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6176.aspx</link><pubDate>Mon, 17 Nov 2008 08:18:50 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6176</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6176.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6176</wfw:commentRss><description>Exact&lt;br&gt;Incerc sa-mi explic fenomenul.&lt;br&gt;Oricum chiar daca scot SP si pun selectul incarcarea unui Dataset (sau DataReader) dureaza la fel de mult.&lt;br&gt;Aici e problema !&lt;br&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6175.aspx</link><pubDate>Mon, 17 Nov 2008 07:59:37 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6175</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6175.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6175</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ssandu:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Rulat ca simplu select (nu ca procedura stocata dureaza 2 sec.) !!!!&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;??? Pe aceeasi BD ?&lt;br&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6174.aspx</link><pubDate>Mon, 17 Nov 2008 07:49:26 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6174</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6174.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6174</wfw:commentRss><description>Rulat ca simplu select (nu ca procedura stocata dureaza 2 sec.) !!!!&lt;br&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6171.aspx</link><pubDate>Fri, 14 Nov 2008 14:55:13 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6171</guid><dc:creator>rremus</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6171.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6171</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ssandu:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Subinterogarile returneaza ultima inregistrare din tabel de aceea am nevoie de ele.&lt;br&gt;Exista alt mod de a face asta ?&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Un join cu RANK( ... over pk desc) = 1 in conditia de join.&lt;br&gt;&lt;br&gt;Dar faptul ca query-ul tau interogheaza MAX(primary key) este o indicatie clara ca sau query-ul este eronat sau data modelul este complet aiurea. &lt;br&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6158.aspx</link><pubDate>Fri, 14 Nov 2008 10:56:32 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6158</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6158.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6158</wfw:commentRss><description>Subinterogarile returneaza ultima inregistrare din tabel de aceea am nevoie de ele.&lt;br&gt;Exista alt mod de a face asta ?&lt;br&gt;</description></item><item><title>Re: Slow query</title><link>http://sqlserver.ro/forums/thread/6157.aspx</link><pubDate>Fri, 14 Nov 2008 09:27:10 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6157</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6157.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6157</wfw:commentRss><description>Încearcă să publici planul de execuţie grafic (nu în format text).&lt;br&gt;Încearcă să scapi de subinterogările &lt;br&gt;= (select max(pk_key) as pk_key from cont as c2&amp;nbsp; where c2.cod = &lt;font color="#ff0000"&gt;&lt;b&gt;c1&lt;/b&gt;&lt;/font&gt;.cod AND c2.data &amp;lt;= @data) &lt;br&gt;c1.pk_key = (SELECT MAX(pk_key) AS pk_key FROM depozit c2 WHERE (c2.cod = &lt;font color="#ff0000"&gt;&lt;b&gt;c1&lt;/b&gt;&lt;/font&gt;.cod) AND c2.data &amp;lt;= @data AND c2.gestiune = &lt;font color="#ff0000"&gt;&lt;b&gt;c1&lt;/b&gt;&lt;/font&gt;.gestiune))&lt;br&gt;&lt;br&gt;</description></item><item><title>Slow query</title><link>http://sqlserver.ro/forums/thread/6155.aspx</link><pubDate>Fri, 14 Nov 2008 08:34:12 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6155</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6155.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6155</wfw:commentRss><description>Salut&lt;br&gt;Am urmatoarea SP&lt;br&gt;CREATE PROCEDURE [dbo].[inventar]&lt;br&gt;&amp;nbsp;@comp int, @gestiune varchar(30), @data DATETIME&lt;br&gt;WITH RECOMPILE&lt;br&gt;AS &lt;br&gt;WITH Preturi (cod, pret) AS&lt;br&gt;(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT cod, pret&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM stocuri AS c1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE pk_key = &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select max(pk_key) as pk_key from cont as c2 &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; where c2.cod = c1.cod AND c2.data &amp;lt;= @data) AND c1.compart = @comp&lt;br&gt;)&lt;br&gt;SELECT c1.cod AS Codul, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c1.cont AS Contul, c1.um AS UM, c1.sold AS Sold, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SUBSTRING(c1.cod,3,4) AS grupa, Preturi.pret, ROUND(Preturi.pret * c1.sold, 2) AS valoare&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FROM depozit c1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN Preturi ON c1.cod = Preturi.cod &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE (c1.sold &amp;lt;&amp;gt; 0) AND (c1.compart = @comp) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and (c1.gestiune = @gestiune) AND (c1.pk_key =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (SELECT MAX(pk_key) AS pk_key&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FROM depozit c2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE (c2.cod = c1.cod) AND c2.data &amp;lt;= @data AND c2.gestiune = c1.gestiune))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ORDER BY c1.cod, c1.cont&lt;br&gt;&lt;br&gt;Indexes&lt;br&gt;Pe stocuri&lt;br&gt;pk_key Clustered&lt;br&gt;compart&lt;br&gt;data (incl pk_key, cod)&lt;br&gt;&lt;br&gt;Pe depozit&lt;br&gt;pk_key Clustered&lt;br&gt;cod&lt;br&gt;cod,gestiune,data&lt;br&gt;depozit,cod,pk_key (incl cont, um, sold) -&amp;gt; recomandat de SQL Server&lt;br&gt;&lt;br&gt;Pe langa acesti indecsi mai exista si altii dar nu cred ca au relevanta in acest caz (sau are!?).&lt;br&gt;Problema e ca ruleaza cam greu ptr. unele compartimente si gestiuni (cele cu foarte multe repere cam 1:30 min)&amp;nbsp; si da timeout la incarcarea unui DataSet (nu as vrea sa modific Timeout la conexiune ptr ca nu rezolva problema).&lt;br&gt;Credeti ca se mai poate umbla la aceasta procedura ?&lt;br&gt;Va multumesc.&lt;br&gt;&lt;br&gt;</description></item></channel></rss>