In SQLite wird eine Null-Byte-Zeichenfolge ('') als Texttyp gespeichert und unterscheidet sich von einem NULL-Wert, der als NULL-Typ gespeichert wird. Wie wird ein NULL-Wert intern in SQLite gespeichert und wie unterscheidet er sich von einer leeren Zeichenfolge? Vorausgesetzt, dass jeder Wert in einer Tabelle mit einem Bezeichner gespeichert wird, der angibt, dass es sich um einen von 5 Typen handelt (Integer, Float, Text, Blob oder Null) und dass eine Tabelle nicht jedes Mal neu organisiert werden muss Wert eingegeben wird, der mehr Platz als ein ursprünglicher Wert einnimmt, nehme ich an, dass zusätzlich zu dem Byte, das den Datentyp des Wertes identifiziert, ein anderer Eintrag existiert - ein Zeiger auf den tatsächlichen Wert, der irgendwo in einem Stapel gespeichert ist, und möglicherweise a dritter Eintrag gibt die Länge des Eintrags in Bytes an. Es kann also sein, dass ein Nullwert durch einen Typwert von NULL gefolgt von einem Nullzeiger angezeigt wird. Dies würde zulassen, dass eine 0-Längenzeichenfolge ('') sich von einem Nullwert unterscheidet.
Bin ich irgendwo in der Nähe, wie SQLite dies behandelt? Larry HunsickerWas ist die interne Darstellung eines NULL-Wertes in SQLite?
0
A
Antwort
2
In SQLite On-Disk record format wird für jede Spalte ein Byte benötigt, um seinen Typ und seine Länge anzugeben. Es gibt keine separaten Zeiger oder Längen, und ein NULL-Wert und eine Null-Länge-Zeichenfolge haben beide eine Inhaltsgröße von null Bytes, so dass das Byte vom seriellen Typ der gesamte Speicher ist, der benötigt wird.
(Wenn einige Daten aktualisiert werden, wird die gesamte Zeile neu geschrieben.)
Verwandte Themen
- 1. Was ist die interne Darstellung von Datetime in SQL Server?
- 2. Javascript String interne Darstellung
- 3. Tcl_Filesystem Unterstützungspfad interne Darstellung
- 4. Jax.rs: Was ist die Null-Länge-Darstellung eines Objekts?
- 5. Interne Darstellung von Zeichenketten in C#
- 6. Interne Darstellung von Strings in PHP
- 7. Lokale interne Datenbank in Flash & SQLite
- 8. Was ist die empfohlene Klasse für die Darstellung einer Box?
- 9. kanonische Darstellung eines BigDecimal
- 10. Wie genau ist die interne Uhr eines modernen PCs?
- 11. Was ist eine Schattentabelle in SQLite?
- 12. nicht typisierten Darstellung eines DSL in getippten Darstellung
- 13. Was ist der Standard-Spaltentyp sqlite?
- 14. Was ist die maximale Größenbeschränkung von SQLite in iOS
- 15. Was ist die SQLite-Datenbank "-journal" in Android?
- 16. Was ist ein Index in SQLite?
- 17. Was ist Klass & KlassKlass
- 18. In Common Lisp was ist eine gedruckte Darstellung?
- 19. Bit-Darstellung eines C-Vektors
- 20. Erhalten Sie die hexadezimale Darstellung eines int in Python
- 21. Umwandlung eines uint8_t in seine binäre Darstellung
- 22. Wie lautet das interne Format für die Darstellung des Begrenzungsschlüssels in DB2 v9?
- 23. Was ist eine solide, voll funktionsfähige offene Rich-Text-Darstellung, die im Web verwendet werden kann?
- 24. Was ist die Kopfzeile eines Arrays in .NET
- 25. Mathematische Darstellung eines mehrdimensionalen Arrays
- 26. Was bedeutet% (xyz) s Darstellung in Python
- 27. Max-Heap-Darstellung eines Arrays
- 28. Was ist die beste Datenstruktur für die Darstellung einer oberen Dreiecksmatrix in Java?
- 29. Drucke entkam Darstellung eines str
- 30. Darstellung von hasOne nad hasMany in sqlite/sequelize