<?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>Απ: Αργή Εκτέλεση Queries σε SQL Server CE 2.0</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38165.aspx</link><pubDate>Mon, 10 Dec 2007 23:33:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38165</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38165.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=38165</wfw:commentRss><description>&lt;P&gt;Καταρχήν, το ίδιο συμβαίνει για κάθε αναζήτηση που κάνεις; Η σύγκριση στα πεδία χαρακτήρων γίνεται χαρακτήρα προς χαρακτήρα. Ανάλογα με την κατανομή των τιμών, ενδέχεται να σταματάει η σύγκριση στον δεύτερο χαρακτήρα ή στον δέκατο τρίτο. Είναι εύλογο ότι στη δεύτερη περίπτωση χρειάζεται περισσότερος χρόνος για να βγει το αποτέλεσμα αν κάνει 40.000 x 13 συγκρίσεις. Όπως και να έχει, βάλε ένα unique index (νομίζω υποστηρίζονται στον SQL Server CE 2.0) πάνω στα δύο πεδία. Επίσης, μπορείς να έχεις ένα computed column με checksums ώστε να βοηθήσεις την αναζήτηση.&lt;/P&gt;</description></item><item><title>Απ: Αργή Εκτέλεση Queries σε SQL Server CE 2.0</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38155.aspx</link><pubDate>Mon, 10 Dec 2007 16:13:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38155</guid><dc:creator>Frontier</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38155.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=38155</wfw:commentRss><description>Καλημέρα και καλή εβδομάδα,&lt;br&gt;&lt;br&gt;Όχι, το code δεν είναι primary key. Το primary key είναι άλλο πεδίο (int). Το code όπως έγραψα, είναι ένα απλό πεδίο nvarchar(20) όπως και το Barcode.&lt;br&gt;Η διαφορά της συμπεριφοράς - όπως φαίνεται τουλάχιστον - οφείλεται στο διαφορετικό μήκος του αλφαριθμητικού αναζήτησης (5 χαρακτήρες για το code, 13 για το Barcode).&lt;br&gt;Αυτό όμως δεν είναι λογικό, γιαυτό έχω μπερδευτεί.&lt;br&gt;</description></item><item><title>Απ: Αργή Εκτέλεση Queries σε SQL Server CE 2.0</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38146.aspx</link><pubDate>Mon, 10 Dec 2007 09:02:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38146</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38146.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=38146</wfw:commentRss><description>&lt;P&gt;Δεν μας είπες τι γίνεται με το κλειδί του πίνακα και με τα indexes. Θα υπέθετα ότι το πεδίο Code έχει κάποιο index - ίσως λόγω primary key - και γι αυτό επιστρέφει πολύ γρήγορα το αποτέλεσμα σε αντίθεση με το πεδίο BarCode που δεν έχει index και γι αυτό κάνει αναζήτηση σε όλες τις εγγραφές από την αρχή ως το τέλος κάθε φορά και γι αυτό επιστρέφει αποτέλεσμα με μεγάλη καθυστέριση.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Αργή Εκτέλεση Queries σε SQL Server CE 2.0</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/38144.aspx</link><pubDate>Mon, 10 Dec 2007 08:13:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:38144</guid><dc:creator>Frontier</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/38144.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=38144</wfw:commentRss><description>Γεια σας,&lt;br&gt;&lt;br&gt;Έχω μια βάση δεδομένων σε SQL Server CE 2.0, η οποία είναι αρκετά μεγάλη σε μέγεθος.&lt;br&gt;Ουσιαστικά, το πρόβλημα είναι ένας πίνακας, ο οποίος έχει περίπου 45000 εγγραφές.&lt;br&gt;&lt;br&gt;Έστω ότι έχω δύο πεδία σε αυτόν τον πίνακα, το Code και Barcode (ναι, καλά καταλάβατε, πρόκειται για πίνακα ειδών εμπορικής διαχείρισης). Και τα δύο είναι τύπου nvarchar μήκους 20 χαρακτήρων.&lt;br&gt;Το Code περιέχει strings της μορφής xxxxx (5-ψήφιο αριθμητικό), ενώ το Barcode της μορφής yyyyyyyyyyyyy (13-ψηφία, αριθμητικό).&lt;br&gt;&lt;br&gt;Το πρόβλημα με τον SQL Server CE είναι ότι δεν έχει τρόπους να περιορίσει τον αριθμό των εγγραφών που ο Query Compiler θα φέρει (π.χ LIMIT), οπότε αναγκαστικά χρησιμοποιώ την WHERE με "απόλυτες" αναζητήσεις (αποφεύγω δηλ. την LIKE, μιας που έχει ένα μικρό performance hit).&lt;br&gt;&lt;br&gt;Παρατηρώ την εξής συμπεριφορά στα εξής δύο queries, τα οποία επιστρέφουν την ίδια εγγραφή, αλλά γίνεται αναζήτηση διαφορετικά:&lt;br&gt;&lt;br&gt;SELECT Code,BarCode WHERE Code='12345'&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;lt;1 sec&lt;br&gt;SELECT Code,BarCode WHERE BarCode='1234567890123'&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp; Χρόνος εκτέλεσης: &amp;gt;25 sec&lt;br&gt;&lt;br&gt;Δεν μπορώ να καταλάβω τι στραβό κάνω στη δεύτερη περίπτωση και έχω τέτοια διαφορά στην ταχύτητα εκτέλεσης.&lt;br&gt;Η σχέση Code και BarCode είναι 1:1 (όσον αφορά τα δεδομένα).&lt;br&gt;&lt;br&gt;Oι δοκιμές γίνονται σε ένα WM2005 PPC με 64MB RAM και τη βάση αποθηκευμένη στην Storage Card.&lt;br&gt;&lt;br&gt;Έχει κανείς καμιά ιδέα τι μπορεί να φταίει και πως μπορώ να ξεπεράσω το πρόβλημα;&lt;br&gt;&lt;br&gt;Ευχαριστώ εκ των προτέρων.&lt;br&gt;</description></item></channel></rss>