<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/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>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: OR ή UNION σε MySQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34349.aspx</link><pubDate>Thu, 16 Aug 2007 04:16:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34349</guid><dc:creator>basilis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34349.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=34349</wfw:commentRss><description>&lt;P&gt;Πρόσθεσα περίπου 100.000 εγγραφές και με χρήση πολλών OR και UNIONS σε κάθε sql statement αντίστοιχα βρήκα ότι το OR είναι ελάχιστα πιο γρήγορο. Ευχαριστώ και τους 2 σας για τα tips.&lt;/P&gt;</description></item><item><title>Απ: OR ή UNION σε MySQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34315.aspx</link><pubDate>Wed, 15 Aug 2007 00:44:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34315</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34315.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=34315</wfw:commentRss><description>&lt;P&gt;Σκέψου το εξής. Όταν χρησιμοποιείς UNION η βάση εκτελεί από μία φορά όλα τα query από τα οποία αποτελείται το UNION, τα σορτάρει και αφαιρεί τα διπλά. Όταν βάζεις OR, η βάση εκτελεί ένα και μοναδικό query και σου γυρίζει αμέσως τα αποτελέσματα.&lt;/P&gt;
&lt;P&gt;Δεν ξέρω πόσο έξυπνος είναι ο query optimizer του MySQL αλλά έχει περάσει εδώ και πολύ καιρό (10 χρόνια+) η εποχή που οι βάσεις υλοποιούσαν το OR κάνοντας UNION. &lt;/P&gt;</description></item><item><title>Απ: OR ή UNION σε MySQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34314.aspx</link><pubDate>Wed, 15 Aug 2007 00:20:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34314</guid><dc:creator>sakalis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34314.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=34314</wfw:commentRss><description>Αντί να σου απαντήσω θα σου προτίνω το εξής.&lt;br&gt;Φτιάξε ένα script που θα δημιουργεί dummy data πολύ μεγάλου αριθμού, κάντα Insert στη βάση σου και μετά δοκίμασε μόνος σου. Ετσι και την απάντηση θα βρεις, αλλά και θα σου δωθεί το εναυσμα να δοκιμάσεις για περισσότερη βελτιστοποίηση.&lt;br&gt;</description></item><item><title>OR ή UNION σε MySQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34313.aspx</link><pubDate>Wed, 15 Aug 2007 00:15:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34313</guid><dc:creator>basilis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34313.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=34313</wfw:commentRss><description>&lt;P&gt;&lt;FONT color=#000000&gt;Καλησπέρα θα ήθελα τη γνώμη σας για το παρακάτω MySQL statement.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;επειδή ο πίνακας rfq_cat1 έχει πάραπολλές γραμμές με ενδιαφέρει η μέγιστη απόδοση. Γι αυτό κάτω από κάθε statement σας δίνω και το explain.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#000000&gt;
&lt;P&gt;&lt;BR&gt;SELECT * FROM rfq_cat1 where (region = 0) limit 0,4 &lt;BR&gt;UNION ALL &lt;BR&gt;(SELECT * FROM rfq_cat1 where (region = 10 AND country = 0) limit 0,4) &lt;BR&gt;UNION ALL &lt;BR&gt;(SELECT * FROM rfq_cat1 where (region = 10 AND country = 919) limit 0,4);&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;id&amp;nbsp;select_type&amp;nbsp;table&amp;nbsp;&amp;nbsp;type&amp;nbsp;possible_keys&amp;nbsp;Key&amp;nbsp;&amp;nbsp;Key_len&amp;nbsp;ref&amp;nbsp;&amp;nbsp;rows&amp;nbsp;Extra&lt;/P&gt;
&lt;P&gt;1&amp;nbsp;PRIMARY&amp;nbsp;&amp;nbsp;rfq_cat1&amp;nbsp;ref&amp;nbsp;RegionCountry_1&amp;nbsp;RegionCountry_1&amp;nbsp;1&amp;nbsp;const&amp;nbsp;&amp;nbsp;1&amp;nbsp;Using where&amp;nbsp;&lt;BR&gt;2&amp;nbsp;UNION&amp;nbsp;&amp;nbsp;rfq_cat1&amp;nbsp;ref&amp;nbsp;RegionCountry_1&amp;nbsp;RegionCountry_1&amp;nbsp;3&amp;nbsp;const,const&amp;nbsp;1&amp;nbsp;Using where&amp;nbsp;&lt;BR&gt;3&amp;nbsp;UNION&amp;nbsp;&amp;nbsp;rfq_cat1&amp;nbsp;ref&amp;nbsp;RegionCountry_1&amp;nbsp;RegionCountry_1&amp;nbsp;3&amp;nbsp;const,const&amp;nbsp;1&amp;nbsp;Using where&amp;nbsp;&lt;BR&gt;NULL&amp;nbsp;UNION RESULT&amp;nbsp;&amp;lt;union1,2,3&amp;gt;&amp;nbsp;ALL&amp;nbsp;NULL&amp;nbsp;&amp;nbsp;NULL&amp;nbsp;&amp;nbsp;NULL&amp;nbsp;NULL&amp;nbsp;&amp;nbsp;NULL&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SELECT * &lt;BR&gt;FROM rfq_cat1 FORCE INDEX (RegionCountry_1) &lt;BR&gt;where (region = 0) OR (region = 10 AND country = 0) OR (region = 10 AND country = 919) &lt;BR&gt;limit 0,10;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;id&amp;nbsp;select_type&amp;nbsp;table&amp;nbsp;&amp;nbsp;type&amp;nbsp;possible_keys&amp;nbsp;Key&amp;nbsp;&amp;nbsp;Key_len&amp;nbsp;ref&amp;nbsp;&amp;nbsp;rows&amp;nbsp;Extra&lt;/P&gt;
&lt;P&gt;1&amp;nbsp;SIMPLE&amp;nbsp;&amp;nbsp;rfq_cat1&amp;nbsp;range&amp;nbsp;RegionCountry_1&amp;nbsp;RegionCountry_1&amp;nbsp;3&amp;nbsp;NULL&amp;nbsp;&amp;nbsp;3&amp;nbsp;Using where&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;το index είναι περιλαμβάνει το region,country...&lt;/P&gt;
&lt;P&gt;Θέλω να ξέρω αν είναι πιο αποδοτικό το να χρησιμοποιήσω unions ή OR...&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Ευχαριστώ προκαταβολικά.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;</description></item></channel></rss>