<?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>Intrebari</title><link>http://sqlserver.ro/forums/14/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5570.aspx</link><pubDate>Mon, 08 Sep 2008 17:59:55 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5570</guid><dc:creator>cardasim</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5570.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5570</wfw:commentRss><description>Multumesc!</description></item><item><title>Re: Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5569.aspx</link><pubDate>Mon, 08 Sep 2008 11:41:17 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5569</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5569.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5569</wfw:commentRss><description>La prima vedere pe SQL2000DEV, SQL2005DEV si SQL2008RTM rezultatele sunt asemanatoare la modul: in tempdb planurile sunt asemanatoare, dar in master si o baza de date utilizator planurile sunt intr-adevar diferite.&lt;br&gt;</description></item><item><title>Re: Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5568.aspx</link><pubDate>Mon, 08 Sep 2008 10:12:30 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5568</guid><dc:creator>rsocol</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5568.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5568</wfw:commentRss><description>Cred că nu ai obţinut rezultatele aşteptate din cauza unei opţiuni a bazei de date. La mine, obţin rezultatele dorite dacă rulez script-ul în &lt;i&gt;master&lt;/i&gt;, dar obţin acelaşi execution plan la ambele query-uri dacă rulez script-ul în &lt;i&gt;tempdb&lt;/i&gt;. Încă nu mi-am dat seama care este opţiunea care influenţează acest lucru; voi mai studia problema astă seară.&lt;br&gt;&lt;br&gt;Răzvan&lt;br&gt;</description></item><item><title>Re: Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5567.aspx</link><pubDate>Mon, 08 Sep 2008 08:24:00 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5567</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5567.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5567</wfw:commentRss><description>Răzvan, asta nu se intampla daca nu exista foreign key?&lt;br&gt;&lt;br&gt;Edit: mie mi-au iesit rezultate identice cu sau fara FK de fiecare data&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5563.aspx</link><pubDate>Fri, 05 Sep 2008 14:40:29 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5563</guid><dc:creator>rsocol</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5563.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5563</wfw:commentRss><description>Da, foreign key-urile pot fi folosite de Query Optimizer pentru a genera un plan de execuţie mai bun pentru instrucţiunile de tip SELECT. De exemplu, rulaţi următorul script (în SQL Server 2005), cu opţiunea "Include Actual Execution Plan":&lt;br&gt;&lt;br&gt;CREATE TABLE T1 (X INT PRIMARY KEY)&lt;br&gt;CREATE TABLE T2 (Y INT PRIMARY KEY, X INT NOT NULL)&lt;br&gt;&lt;br&gt;INSERT INTO T1 VALUES (1)&lt;br&gt;INSERT INTO T1 VALUES (2)&lt;br&gt;INSERT INTO T1 VALUES (3)&lt;br&gt;&lt;br&gt;INSERT INTO T2 VALUES (100, 1)&lt;br&gt;INSERT INTO T2 VALUES (101, 1)&lt;br&gt;INSERT INTO T2 VALUES (102, 2)&lt;br&gt;&lt;br&gt;SELECT COUNT(*) FROM T1 INNER JOIN T2 ON T1.X=T2.X&lt;br&gt;&lt;br&gt;ALTER TABLE T2 ADD FOREIGN KEY (X) REFERENCES T1(X)&lt;br&gt;&lt;br&gt;SELECT COUNT(*) FROM T1 INNER JOIN T2 ON T1.X=T2.X&lt;br&gt;&lt;br&gt;DROP TABLE T2,T1&lt;br&gt;&lt;br&gt;Se observă că pentru al doilea SELECT (deşi acesta este identic cu primul SELECT), query plan-ul este mai simplu (mai eficient). Asta deoarece query optimizer-ul şi-a dat seama că în condiţiile în care există acest constraint, query-ul respectiv devine echivalent cu query-ul "SELECT COUNT(*) FROM T2" şi nu a mai accesat deloc tabela T1. &lt;br&gt;&lt;br&gt;Răzvan&lt;br&gt;</description></item><item><title>Re: Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5562.aspx</link><pubDate>Fri, 05 Sep 2008 13:54:42 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5562</guid><dc:creator>ggciubuc</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5562.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5562</wfw:commentRss><description>&lt;P&gt;Este ceva aici : &lt;A href="http://sqlblog.com/blogs/tibor_karaszi/archive/2008/01/12/non-trusted-constraints.aspx"&gt;http://sqlblog.com/blogs/tibor_karaszi/archive/2008/01/12/non-trusted-constraints.aspx&lt;/A&gt;&lt;BR&gt;&lt;A href="http://sqlblog.com/blogs/tibor_karaszi/archive/2008/01/12/non-trusted-constraints-and-performance.aspx"&gt;http://sqlblog.com/blogs/tibor_karaszi/archive/2008/01/12/non-trusted-constraints-and-performance.aspx&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Re: Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5561.aspx</link><pubDate>Fri, 05 Sep 2008 13:49:57 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5561</guid><dc:creator>Cryogenic1981</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5561.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5561</wfw:commentRss><description>In ce sens sa fie folosite pt. optimizare? foreign key-urile &lt;u&gt;nu&lt;/u&gt; contin informatii despre ce anume se gaseste in paginile fizice pe disk, doar indexii si statisticile contin astfel de informatii. Un foreign key e doar un constraint (o formula) care se aplica la insert, update, delete).&lt;br&gt;&lt;br&gt;In principiu trebuie sa creezi un index pe coloanele unui foreign key, pt. ca query engine-ul sa optimize select-urile cu join care se fac intre 2 tabele chiar daca join-ul se face folosind coloanele pentru care exista un foreign key definit.&lt;br&gt;&lt;br&gt;In plus creerea unui index pe coloanele unui foreign key din tabela child, ajuta la performata in cazul verificarilor care se fac cand se executa delete (sau update pe PK) pe tabela parinte.&lt;br&gt;</description></item><item><title>Foreign key constraint &amp; query optimizer</title><link>http://sqlserver.ro/forums/thread/5560.aspx</link><pubDate>Fri, 05 Sep 2008 13:12:28 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5560</guid><dc:creator>cardasim</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5560.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=5560</wfw:commentRss><description>Query optimizer foloseste pentru aflarea planurilor de executie optime informatiile despre schema (obiectele din baza de date) si statisticile.&lt;br&gt;Stie cineva daca "foreign key constraint"-urile sunt folosite de optimizor pentru un statement de tip SELECT? Ati gasit chestia asta documetata pe undeva?&lt;br&gt;Multumesc.&lt;br&gt;</description></item></channel></rss>