<?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: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4664.aspx</link><pubDate>Wed, 16 Apr 2008 13:06:35 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4664</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4664.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4664</wfw:commentRss><description>eu intr-adevar am nevoie de exact match dar avand in vedere ca @comp are intotdeauna 2 caractere nu mai am nevoie de '%'.&lt;br&gt;Chestia este ca merge mai repede cu LIKE (acum foloseste un Index Seek in loc de Scan).&lt;br&gt;Multumesc ptr. raspunsuri.&lt;br&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4663.aspx</link><pubDate>Wed, 16 Apr 2008 12:54:53 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4663</guid><dc:creator>Diana</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4663.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4663</wfw:commentRss><description>&lt;P&gt;Pentru un "exact match" este OK un "=". Daca vrei sa cauti cu LIKE, obtii o buna performanta in acest caz:&lt;/P&gt;
&lt;P&gt;SELECT...WHERE cod LIKE @comp, unde @comp este de forma 'searchterm%' - deci cu "%" la "coada" &lt;img src="http://sqlserver.ro/emoticons/emotion-1.gif" alt="Smile" /&gt; si coloana "cod" este indexata.&lt;/P&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4662.aspx</link><pubDate>Wed, 16 Apr 2008 12:46:15 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4662</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4662.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4662</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;substring(t1.cod,1,2) = @comp&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt; inlocuit cu LIKE @comp reduce timpul sub o secunda.&lt;br&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4661.aspx</link><pubDate>Wed, 16 Apr 2008 12:22:58 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4661</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4661.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4661</wfw:commentRss><description>Am reusit pana la urma sa reduc la 3 sec&lt;br&gt;
with tmp(pk_key, cod)&lt;br&gt;As&lt;br&gt;(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select max(pk_key) as pk_key cod from tabel where data &amp;lt;= @data group by cod&lt;br&gt;)&lt;br&gt;select pk_key, cod, sold, substring(cod,3,4) as grupa&lt;br&gt;from tabel t1 join tmp on t1.pk_key = tmp.pk_key&lt;br&gt;where t1.sold &amp;lt;&amp;gt; 0 and substring(t1.cod,1,2) = @comp&lt;br&gt;order by cod&lt;br&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4660.aspx</link><pubDate>Wed, 16 Apr 2008 11:54:55 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4660</guid><dc:creator>Diana</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4660.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4660</wfw:commentRss><description>&lt;P&gt;Incearca si sa inlocuiesti subquery-ul cu un JOIN.&lt;/P&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4659.aspx</link><pubDate>Wed, 16 Apr 2008 11:44:00 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4659</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4659.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4659</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;ignatandrei:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Ai putea, deci , sa optimizezi index scan ... sa il transformi intr-un seek.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Poti sa-mi explici cum sa fac asta ?&lt;br&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4658.aspx</link><pubDate>Wed, 16 Apr 2008 11:19:10 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4658</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4658.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4658</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;&lt;br&gt;In execution plan am un Index Scan de 74% pe&amp;nbsp; indexul primar (pk_key)&amp;nbsp; pentru expresia&amp;nbsp; SUBSTRING(cod,1,2)=@comp si un Index Seek pe indexul de data. &lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Ai putea, deci , sa optimizezi index scan ... sa il transformi intr-un seek.&lt;br&gt;Alta idee : daca transformi &lt;br&gt;SELECT MAX(pk_key) as pk_key FROM tabel t2 WHERE t1.cod = t2.cod AND t2.data &amp;lt;= data&lt;br&gt;intr-un view de genul&lt;br&gt;select cod, MAX(pk_key) from tabel group by cod&lt;br&gt;si faci inner join cu select-ul initial&amp;nbsp; -ar merge mai repede? &lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4657.aspx</link><pubDate>Wed, 16 Apr 2008 10:25:27 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4657</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4657.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4657</wfw:commentRss><description>Sunt aproximativ 300000 de inregistrari.&lt;br&gt;Indecsi sunt pe tabel (este vorba de un singur tabel) : cod, data, cod+data, pk_key (primar. clustered)&lt;br&gt;Numai daca nu gasesc o alta solutie o sa mai fac 2 campuri.&lt;br&gt;In execution plan am un Index Scan de 74% pe&amp;nbsp; indexul primar (pk_key)&amp;nbsp; pentru expresia&amp;nbsp; SUBSTRING(cod,1,2)=@comp si un Index Seek pe indexul de data. &lt;br&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4656.aspx</link><pubDate>Wed, 16 Apr 2008 10:01:38 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4656</guid><dc:creator>Diana</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4656.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4656</wfw:commentRss><description>&lt;P&gt;Ce indecsi exista pe tabel? Sunt ei "de folos" in cazul tau? Incearca sa rulezi scriptul in QA cu "include actual execution plan".&lt;/P&gt;
&lt;P&gt;Vezi si BOL SQL 2005 ---&amp;gt; &lt;SPAN id=nsrTitle&gt;Analyzing a Query&lt;/SPAN&gt;&lt;/P&gt;</description></item><item><title>Re: Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4655.aspx</link><pubDate>Wed, 16 Apr 2008 10:00:45 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4655</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4655.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4655</wfw:commentRss><description>1. Despre ce numar de inregistrari vorbim , pentru cele 16 secunde?&lt;br&gt;2. indecsi sunt si pe t1 si pe t2 ?&lt;br&gt;3.&amp;nbsp; Vad ca folosesti destul de des parti din cod (SUBSTRING(cod,1,2) ,  SUBSTRING(cod,3,4) )&lt;br&gt;Daca ai posibilitatea, denormalizeaz-o pe cele 2 valori ...sau pune alte 2 cimpuri&lt;br&gt;&lt;br&gt;</description></item><item><title>Select ultimele valori</title><link>http://sqlserver.ro/forums/thread/4654.aspx</link><pubDate>Wed, 16 Apr 2008 09:47:39 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4654</guid><dc:creator>ssandu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4654.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=4654</wfw:commentRss><description>Salut&lt;br&gt;Am o tabela pk_key(int), cod(char),sold(numeric),
data(smalldatetime) din care sa extrag ultimele inregistrari la o
anumita data la care soldul sa fie diferit de 0.&lt;br&gt;Selectul pe care il am acum este&lt;br&gt;SELECT cod, sold, SUBSTRING(cod,3,4) as grupa FROM tabel t1&lt;br&gt;WHERE sold &amp;lt;&amp;gt; 0 and SUBSTRING(cod,1,2) = @comp and pk_key = &lt;br&gt;(SELECT MAX(pk_key) as pk_key FROM tabel t2 WHERE t1.cod = t2.cod AND t2.data &amp;lt;= data)&lt;br&gt;ORDER by cod&lt;br&gt;Problema este ca la un numar mare de inregistrari returnate selectul dureaza cam 16 secunde.&lt;br&gt;Pot face ceva sa mearga mai repede ?&lt;br&gt;Am indecsi pe cod, data, cod+data, pk_key(clustered).&lt;br&gt;Multumesc.</description></item></channel></rss>