<?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>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58857.aspx</link><pubDate>Fri, 28 May 2010 07:46:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58857</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58857.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58857</wfw:commentRss><description>Σε ευχαριστώ, πραγματικά αρκετά διαφωτιστική η όλη συζήτηση.&lt;br&gt;&lt;br&gt;Με εκτίμηση&lt;br&gt;</description></item><item><title>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58854.aspx</link><pubDate>Fri, 28 May 2010 02:15:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58854</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58854.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58854</wfw:commentRss><description>&lt;P&gt;Αν μπορώ να καταλάβω μιλας για το warning που&amp;nbsp; σου βγάζει. Αν μιλάς για αυτό δεν υπάρχει πρόβλημα. Δυνητικα σε έναν πίνακα μπορείς να έχει μέχρι 1024 πεδία αρκεί το μήκος της εγγραφής να μην είναι πάνω από 8060 bytes. Εδώ τώρα είναι λίγο περίπλοκα τα πράγματα και υπάρχουν περιπτώσεις που μπορεί να έχεις εν δυνάμει μικρότερο μήκος εγγραφής σε συνάρτηση με το πλήθος των variable lenght fields. Είναι αυτό που σου είπα και πριν ότι είναι λίγο περίεργο. Θα το εξηγήσω όμως στο μέλλον με ένα post στο blog μου.&lt;/P&gt;
&lt;P&gt;Τώρα αν έχεις (n)varchar(max) και έχεις φτάσει στα όρια του μήκους της εγγραφής τότε είναι σίγουρο ότι&amp;nbsp;αυτά τα πεδία θα είναι σε ξεχωριστά pages.&lt;/P&gt;
&lt;P&gt;Τεχνικά τωρα. Θα σε παραπεμψω πάλι σε ενα παλιό άρθρο μου &lt;A href="http://autoexec.gr/blogs/antonch/archive/2009/10/07/19198.aspx"&gt;http://autoexec.gr/blogs/antonch/archive/2009/10/07/19198.aspx&lt;/A&gt;&amp;nbsp;Το οποίο θα σου λύσει τις απορίες σου.&lt;/P&gt;
&lt;P&gt;Η απάντηση μου για το δεύτερο ερώτημα σου είναι ότι σωστα το έχεις σκεφτεί.&lt;/P&gt;
&lt;P&gt;Φιλικά&lt;/P&gt;</description></item><item><title>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58851.aspx</link><pubDate>Thu, 27 May 2010 23:39:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58851</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58851.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58851</wfw:commentRss><description>1. Αν βλέπεις το προειδοποιητικό μήνυμα στο design του πίνακα δεν θα έπρεπε να με ανησυχεί ; Εχω την εντύπωση οτι δεν είναι ευέλικτο. Δεν θα μπορώ να προσθέσω κάποια πεδία ακόμα αν χρειαστεί. Αλλά και απο τεχνική αποψη, δεν είναι στα όρια ;&lt;br&gt;&lt;br&gt;2. Αν χωράει, μπαίνει όλη η πληροφορία στη σελίδα. Οκ. Αν τα data αλλάξουν και ποιά δεν χωράει τίποτα, να υποθέσω φτιάχνει το δέντρο έπειτα. Σωστά;&lt;br&gt;&lt;br&gt;3. 8060 το καταλαβαίνω και απο το σύνδεσμο αυτό, σούπερ. Αυτό που εγώ θα ρώταγα όμως, είναι γιατί υπάρχει ο περιορισμός των 8092; Και δεν μπορεί να είναι μεγαλύτερο; Επειδή το είδα και σε φόρουμ για την InnoDB της φίλτατης MySQL, είναι κάποιος "χρυσός αριθμός"; &lt;br&gt;&amp;nbsp;http://dev.mysql.com/doc/refman/5.0/en/innodb-restrictions.html &lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58850.aspx</link><pubDate>Thu, 27 May 2010 23:17:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58850</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58850.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58850</wfw:commentRss><description>&lt;P&gt;Η βασική διαφορά μεταξύ των (n)text, image και (n)varchar(max) , varbinary(max) έχει να κάνει για το πως τελικα αποθηκεύεται η πληροφορία.&lt;/P&gt;
&lt;P&gt;Εάν χρησιμοποιείς τα πρώτα text,image, τότε γίνεται το εξής στο record μπαίνει ένας pointer που δείχνει σε ένα δεντρο από pages στο datafile τις οποίες τις λεμε blob pages και φυσικά δεσμέυεται και ακόμα μια σελίδα για το πεδίο αυτό. Ενω από χρησιμοποιείς τα (max) τότε το περιεχόμενο αν χωράει να μπει στην σελίδα που υπάρχει όλο το record θα μπει εκει αλλιώς θα φτίαξει το tree.&lt;/P&gt;
&lt;P&gt;τώρα αν θέλεις να δεις γιατι είναι 8060 το record len κοίτα &lt;A href="http://autoexec.gr/blogs/antonch/archive/2010/05/11/why-max-record-lenght-is-8060-bytes.aspx"&gt;αυτό&lt;/A&gt;. Απλά πρέπει να τονίζω ότι και αυτό είναι λίγο ρευστό κάποια στιγμή θα πρέπει να το γράψω άρθρο αλλά είναι λίγο περίεργο ...&lt;/P&gt;
&lt;P&gt;Συμφωνώ με τον Πάνο ότι δεν χρειάζεται να σπάσει ο πίνακας&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58848.aspx</link><pubDate>Thu, 27 May 2010 23:07:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58848</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58848.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58848</wfw:commentRss><description>Το πόσα bytes χωράνε σε ένα row δεν έχει σχέση με το μήκος του πεδίου. Σημαίνει απλά ότι δεν μπορείς να έχεις πεδία των οποίων το συνολικό μέγεθος ξεπερνάει τα 8000 bytes. Αν χρησιμοποιήσεις nvarchar(max) ή nvarbinary(max) δεν υπάρχει αυτός ο περιορισμός.&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Τέλος, δεν υπάρχει λόγος να σπάσει ο πίνακας απλά και μόνο επειδή χρησιμοποιείς κάποιο από τα blob πεδία (nvarchar(max), nvarbinary(max)).&amp;nbsp;&lt;/div&gt;</description></item><item><title>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58846.aspx</link><pubDate>Thu, 27 May 2010 22:59:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58846</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58846.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58846</wfw:commentRss><description>Αναφέρομαι στο "Bytes per row&lt;span class="sup"&gt; : 8060" σημείο. Τέτοιο μήνυμα το έχω δεί στο σχεδιασμό μέσα απο το studio. Και ναι, και γω το πιστεύω ότι ο πίνακας πρέπει να σπάσει.&lt;br&gt;Σκεφτόμουνα το varbinary(blob), με σκοπό να αποθηκεύσω εκεί αυτού του είδους τα κείμενα. Δεν χρειάζομαι να κάνω αναζήτηση πάνω σε αυτά. Και αν χρειαζόμουνα θα έφτιαχνα μια λύση με κώδικα ( Regexp ) για να κάνει αναζήτηση ο χρήστης.&lt;br&gt;&lt;br&gt;Ευχαριστώ για τις απαντήσεις σας και τους δυο. Κατατοπιστικότατες!&lt;br&gt;&lt;/span&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</description></item><item><title>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58844.aspx</link><pubDate>Thu, 27 May 2010 22:43:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58844</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58844.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58844</wfw:commentRss><description>Δεν ξέρω ποιο ήρθε πρώτο, σίγουρα όμως το varchar δεν ήρθε για να να αντικαταστήσει το BLOG. Το 1ο είναι για κείμενο, το δεύτερο είναι για binary data.&lt;div&gt;Για πιο ολοκληρωμένη μελέτη των ορίων του sql server 2008&amp;nbsp;&lt;a href="http://technet.microsoft.com/en-us/library/ms143432.aspx"&gt;δες εδώ&lt;/a&gt;. Ως προς ποιο πράγμα ακριβώς ο πίνακάς σου είναι στα όριά του;&lt;/div&gt;&lt;div&gt;Το όριο για varchar είναι 8000 bytes, όχι 8KB. Λεπτομέρεια, αλλά είπα να κάνω τον έξυπνο!!!&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;. Αυτό σημαίνει 8000 characters για varchar και 4000 characters για nvarchar (μια που αυτό είναι unicode και θέλει 2 bytes per character).&lt;/div&gt;&lt;div&gt;Οι 2000 λέξεις που λες φυσικά δεν λένε τίποτα. Σημασία έχει πόσα characters είναι.&lt;/div&gt;&lt;div&gt;Αν δεν σε ενδιαφέρει το κείμενο να είναι searchable με την LIKE μπορείς να χρησιμοποιήσεις binary τύπους δεδομένων (binary, varbinary, image) που δεν έχουν αυτούς τους περιορισμούς των 8000 bytes. Αν πάλι θέλεις να είναι searchable ένα κείμενο που φτάνει τα 8000 bytes έτσι κι αλλιώς δεν είναι και το καλύτερο πράγμα!&lt;/div&gt;&lt;div&gt;Θα σου πρότεινα να σκεφτείς σοβαρά (και να μεταφέρεις τους προβληματισμούς σε όποιον παίρνει τις αποφάσεις γι αυτό το σχήμα της βάσης) να σπάσεις τον πίνακα σε περισσότερους από ένα.&lt;/div&gt;</description></item><item><title>Απ: BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58843.aspx</link><pubDate>Thu, 27 May 2010 22:39:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58843</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58843.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58843</wfw:commentRss><description>Το BLOB και το (Ν)VARCHAR δεν έχουν καμμία σχέση μεταξύ τους. Το &lt;a href="http://msdn.microsoft.com/en-us/library/ms176089.aspx"&gt;(Ν)VARCHAR&lt;/a&gt; είναι ένα string μεταβλητού μήκους με άνω όριο τα 8000 bytes. Αυτό σημαίνει ότι ένα πεδίο &lt;a href="http://msdn.microsoft.com/en-us/library/ms176089.aspx"&gt;nvarchar&lt;/a&gt; το οποίο περιέχει unicode χαρακτήρες φτάνει μέχρι τους 4000 χαρακτήρες. Από την άλλη, το BLOB δεν είναι τύπος του SQL αλλά αναφέρεται σε τύπους οι οποίοι αποθηκεύουν binary δεδομένα μεγέθους μέχρι 2 GB. Ο αντίστοιχος τύπος είναι ο &lt;a href="http://msdn.microsoft.com/en-us/library/ms187993(v=SQL.105).aspx"&gt;image &lt;/a&gt;(μέχρι τον SQL 2005) και πλέον &lt;a href="http://msdn.microsoft.com/en-us/library/ms187993(v=SQL.105).aspx"&gt;varbinary(max)&lt;/a&gt;. Αν θέλεις να αποθηκεύσεις text μεγάλου μεγέθους, θα πρέπει να χρησιμοποιήσεις τον τύπο &lt;a href="http://msdn.microsoft.com/en-us/library/ms187993(v=SQL.105).aspx"&gt;ntext &lt;/a&gt;(μέχρι 2005) ή&lt;a href="http://msdn.microsoft.com/en-us/library/ms187993(v=SQL.105).aspx"&gt; nvarchar(max)&lt;/a&gt; (2008 και μετά).</description></item><item><title>BLOB varchar</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58838.aspx</link><pubDate>Thu, 27 May 2010 21:54:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58838</guid><dc:creator>m6s</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58838.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=58838</wfw:commentRss><description>Καλησπέρα....δεν έχω καταλάβει καλά, το VARCHAR ήρθε μετά το BLOB (ιστορικά); Και είναι για να αντικαταστήσει το BLOB ?&lt;br&gt;Η απορία προκύπτει σε μια γραμμή που έχεις 8KB max μέγεθος ( σωστά; ), μπορείς να χώσεις στο BLOB όσο μεγάλου μέγέθους θές πληροφορία;&lt;br&gt;Το πρόβλημα είναι θέλω να καταχωρήσω κείμενο 2000 λέξεων! σε ένα πεδίο. Το οποίο πεδίο είναι σε πίνακα που ήδη είναι στα όρια του ώς προς το όριο που θέτει ο "σκηνοθέτης". Δεν μπορώ να καταχωρήσω μια παραπομπή, θέλω το ίδιο το κείμενο.&lt;br&gt;Any Idea ?&lt;br&gt;</description></item></channel></rss>