Διαφορά μεταξύ Varchar και Nvarchar | Nvarchar vs Varchar
Varchar vs Nvarchar
Η διαφορά μεταξύ varchar και nvarchar υποδεικνύει πως αποθηκεύονται τα δεδομένα σε μια βάση δεδομένων. Ένα σύστημα βάσης δεδομένων αποτελείται από δεδομένα και τα δεδομένα ορίζονται από τύπους δεδομένων. Ένας τύπος δεδομένων λέει ότι τι είδους αξία μπορεί να περιέχει μια στήλη. Κάθε στήλη σε έναν πίνακα βάσης δεδομένων πρέπει να έχει ένα όνομα και έναν τύπο δεδομένων. Σήμερα, υπάρχουν πολλοί τύποι δεδομένων που είναι διαθέσιμοι στο σχεδιασμό βάσης δεδομένων. Από αυτούς τους τύπους δεδομένων, τα varchar και nvarchar χρησιμοποιούνται για την αποθήκευση συμβολοσειρών χαρακτήρων. Ο Varchar και ο Nvarchar φαίνεται να είναι εναλλάξιμοι. Αλλά αυτοί οι δύο τύποι έχουν διαφορετικά πλεονεκτήματα και χρησιμοποιούνται για διαφορετικούς σκοπούς.
Τι είναι το Varchar;
Όπως υποδηλώνει το όνομα, το varchar είναι ένας μεταβαλλόμενος χαρακτήρας ή διαφορετικός χαρακτήρας. Η σύνταξη του varchar είναι VARCHAR [(n | max)]. Το Varchar αποθηκεύει δεδομένα ASCII που δεν είναι δεδομένα Unicode και είναι ο τύπος δεδομένων που χρησιμοποιούνται στην κανονική χρήση. Ο Varchar χρησιμοποιεί ένα byte ανά χαρακτήρα. Επίσης αποθηκεύει το μήκος κάθε συμβολοσειράς στη βάση δεδομένων. Το Varchar έχει μεταβλητό μήκος δεδομένων και μπορεί να αποθηκεύσει μέχρι και 8000 χαρακτήρες που δεν είναι Unicode. Αυτός ο τύπος δεδομένων είναι πολύ ευέλικτος και θα δέχεται τα περισσότερα διαφορετικά είδη δεδομένων. Το Varchar δεν σας επιτρέπει να αποθηκεύετε κενά χαρακτήρες για τα αχρησιμοποίητα μέρη της συμβολοσειράς. Το μέγιστο μέγεθος αποθήκευσης του varchar είναι 2 GB και το πραγματικό μέγεθος αποθήκευσης δεδομένων είναι το πραγματικό μήκος των δεδομένων συν δύο byte. Παρόλο που το varchar είναι πιο αργό από το char, χρησιμοποιεί δυναμική κατανομή μνήμης. Όχι μόνο οι συμβολοσειρές, αλλά και οι τύποι μη συμβολοσειρών όπως οι τύποι ημερομηνιών, "14 Φεβρουαρίου", "12/11/2014" μπορούν επίσης να αποθηκευτούν στον τύπο δεδομένων varchar.
Τι είναι το Nvarchar;
Το Nvarchar προτείνει εθνικό χαρακτήρα διαφορετικό ή εθνικό μεταβλητό χαρακτήρα. Η σύνταξη του nvarchar είναι NVARCHAR [(n | max)]. Το Nvarchar μπορεί να αποθηκεύσει διαφορετικούς τύπους δεδομένων με διαφορετικό μήκος. Αυτά είναι δεδομένα Unicode και πολύγλωσσα δεδομένα και γλώσσες με χαρακτήρες διπλού byte στα κινέζικα. Το Nvarchar χρησιμοποιεί 2 byte ανά χαρακτήρα και μπορεί να αποθηκεύσει μέγιστο όριο 4000 χαρακτήρων και μέγιστο μήκος 2 GB. Το Nvarchar αντιμετωπίζει "" ως κενή συμβολοσειρά και μηδενικό μήκος χαρακτήρων. Το μέγεθος αποθήκευσης είναι διπλάσιο από το μέγεθος των χαρακτήρων συν δύο ψηφιολέξεις. Στο nvarchar, οι τελικοί χώροι δεν αφαιρούνται όταν η τιμή αποθηκεύεται και λαμβάνεται.
Ποια είναι η διαφορά μεταξύ Varchar και Nvarchar;
Η διαφορά κλειδιού μεταξύ varchar και nvarchar υποδεικνύει πως αποθηκεύονται τα δεδομένα σε μια βάση δεδομένων.
• Το Varchar αποθηκεύει τις τιμές ASCII και το nvarchar αποθηκεύει χαρακτήρες Unicode.
• Το Varchar χρησιμοποιεί ένα byte ανά χαρακτήρα ενώ το nvarchar χρησιμοποιεί δύο byte ανά χαρακτήρα.
• Το Varchar [(n)] αποθηκεύει χαρακτήρες μη-Unicode με μεταβλητό μήκος και Nvarchar [(n)] αποθηκεύει χαρακτήρες Unicode με μεταβλητό μήκος.
• Το Varchar μπορεί να αποθηκεύσει έως και 8.000 χαρακτήρες που δεν είναι Unicode και το nvarchar αποθηκεύει έως και 4000 χαρακτήρες Unicode ή Unicode.
• Το Varchar είναι καλύτερο να χρησιμοποιείται σε μέρη όπου υπάρχουν μεταβλητές με χαρακτήρες που δεν είναι Unicode. Το Nvarchar χρησιμοποιείται σε μέρη όπου υπάρχουν ποικιλίες με χαρακτήρες Unicode.
• Το μέγεθος αποθήκευσης του varchar είναι αριθμός bytes ίσο με τον αριθμό των χαρακτήρων συν δύο byte που προορίζεται για αντιστάθμιση. Το Nvarchar χρησιμοποιεί αριθμό bytes ίσο με το διπλάσιο του αριθμού χαρακτήρων συν δύο bytes που προορίζεται για αντιστάθμιση.
• Όλα τα σύγχρονα λειτουργικά συστήματα και πλατφόρμες ανάπτυξης χρησιμοποιούν το Unicode εσωτερικά. Επομένως, το nvarchar χρησιμοποιείται πολύ περισσότερο από το varchar για να αποφευχθεί η μετατροπή των τύπων δεδομένων.
Περίληψη:
Nvarchar vs Varchar
Οι Varchar και nvarchar είναι τύποι δεδομένων μεταβλητού μήκους που χρησιμοποιούμε για την αποθήκευση διαφορετικών τύπων συμβολοσειρών. Αυτοί οι τύποι δεδομένων είναι χρήσιμοι στα σύγχρονα λειτουργικά συστήματα. Αυτές οι ποικιλίες τύπων δεδομένων αποφεύγουν τη μετατροπή δεδομένων από έναν τύπο σε άλλο σύμφωνα με τα λειτουργικά συστήματα. Επομένως, οι varchar και nvarchar βοηθούν τον προγραμματιστή να αναγνωρίσει τις χορδές Unicode και Non-Unicode χωρίς πολύ μεγάλη δυσκολία. Αυτοί οι δύο τύποι δεδομένων είναι πολύ χρήσιμοι στον προγραμματισμό.
Εικόνες Ευγένεια:
- Varchar από Caius Durling (CC BY 2. 0)