AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ist das ein normales MS SQL Express Speicherverhalten?
Thema durchsuchen
Ansicht
Themen-Optionen

Ist das ein normales MS SQL Express Speicherverhalten?

Ein Thema von Piro · begonnen am 14. Okt 2008 · letzter Beitrag vom 14. Okt 2008
Antwort Antwort
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

Ist das ein normales MS SQL Express Speicherverhalten?

  Alt 14. Okt 2008, 20:51
Datenbank: MS SQL 2005 • Version: Express • Zugriff über: ADO
Guten Abend,

ich speichere meine Daten in die oben genannte DB. Sie enthält Tabellen mit mehrere Spalten, die unteranderem vom Type nchar(50) sind. Die 50 steht für die Länge des DB Feldes.


Speicherbeispiel anhand der Spalte "Vorname" und dem Wert "Hugo". Nach der Speicherung ist der Wert "Hugo" in der Spalte "Vornamen" gespeichert aber der Rest ist mit Leerzeichen aufgefüllt. Also so, dass die Feldlänge von 50 voll genutzt wird.
'Hugo ' Wenn ich jetzt die Daten wieder aus der DB lesen möchte, habe ich immer Werte, die 50 Zeichen lange sind.

Ist das ein normales Verhalten der DB, den Speicherplatz komplett zu verwenden oder habe ich eine Einstellung nicht gesetzt?

Vielen Dank im voraus. Ich hoffe einer kennt das Problem.

Sven
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ist das ein normales MS SQL Express Speicherverhalten?

  Alt 14. Okt 2008, 20:52
Trimme den wert doch beim Auslesen
Markus Kinzler
  Mit Zitat antworten Zitat
mr2

Registriert seit: 3. Mai 2003
140 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Ist das ein normales MS SQL Express Speicherverhalten?

  Alt 14. Okt 2008, 21:02
Du solltest besser nvarchar(50) verwenden, dann füllt die Datenbank nicht mit Leerzeichen auf.

mr2
"... we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we don't know. But there are also unknown unknowns - the ones we don't know we don't know."
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Ist das ein normales MS SQL Express Speicherverhalten?

  Alt 14. Okt 2008, 21:04
char und varchar (Transact-SQL)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Ist das ein normales MS SQL Express Speicherverhalten?

  Alt 14. Okt 2008, 21:06
Oder Varchar, Varchar kann maximal 8000 Zeichen aufnehmen. NVarchar maximal 4000.
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Ist das ein normales MS SQL Express Speicherverhalten?

  Alt 14. Okt 2008, 21:17
Danke für die zahlreichen Antworten. Das hatte ich nicht gewußt, dass die Typen solche unterschiedlichen Eiegnschaften haben.

Ich werde dann auf nvarchar umsteigen. Vielen Dank.

Schönen Abend.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Ist das ein normales MS SQL Express Speicherverhalten?

  Alt 14. Okt 2008, 22:40
Der Unterschied ist doch schon am Namen erkennbar (VarChar vs. Char). VarChar ist zwar etwas 'hübscher' aber dafür bei UPDATE-Operationen langsamer. In Hochgeschwindigkeitsumgebungen ist das ein nicht zu unterschätzender Nachteil. Performancefetischisten tendieren zu 'CHAR(X) NOT NULL'.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz