AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Array of smallint in mysql speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Array of smallint in mysql speichern

Ein Thema von sts1254 · begonnen am 11. Apr 2005 · letzter Beitrag vom 13. Apr 2005
Antwort Antwort
sts1254

Registriert seit: 3. Jun 2003
6 Beiträge
 
#1

Array of smallint in mysql speichern

  Alt 11. Apr 2005, 23:33
Datenbank: mysql • Version: 4.1 • Zugriff über: Zeos
Hi,

ich möchte einen Array of smallint irgendwie in eine mysql-Datenbank speichern. Ist das mit Blob-Feldern möglich und wenn ja wie würde man das umsetzen? Es geht pro Datensatz um einen Array mit ca. 4000 Einträgen. Inwiefern wirkt sich das auf die Performance der Datenbank aus?

Danke und nen schönen Abend
sts1254
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Array of smallint in mysql speichern

  Alt 12. Apr 2005, 00:20
Ich würde vorschlagen in dem Fall einfach aus dem Array n String zu machen in der Form 23,434,3,33,423 usw.
Und beim Auslesen spaltest du dann einfach die Zahlen wieder am Komma auf...

Denn meines Wissens nach kann man keine Arrays direkt in Datenbanken schreiben.
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
sts1254

Registriert seit: 3. Jun 2003
6 Beiträge
 
#3

Re: Array of smallint in mysql speichern

  Alt 13. Apr 2005, 12:16
Manchmal ist eine Lösung einfacher, als man denkt. Da bin ich irgendwie nicht drauf gekommen... Danke, so ließe es sich auf jeden Fall schon mal realisieren. Gibt es nicht dennoch ne Möglichkeit den Array direkt in die Datenbank zu schreiben.

Danke
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Array of smallint in mysql speichern

  Alt 13. Apr 2005, 12:47
Warum nicht jede Zahl nebst PK als record in einer table?

Ein Datenbanksystem kommt mit vielen Sätzen schneller zurecht als du mit dem Umwandeln von Zahlen in Strings und umgekehrt.

Die Ablage von custom data types wird von MySQL meines Wissens nicht unterstützt. Es gibt andere Datenbanksysteme, die das Speichern von arrays direkt unterstützen, eventuell mit einem index-limit unter 4000. Stichworte: post-relational, NF2, OODB

Ehe ich eine Umwandlung von und zu Zeichenketten-Darstellung erwägen würde, würde ich die 8000 Byte als Blob speichern.
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Array of smallint in mysql speichern

  Alt 13. Apr 2005, 12:59
Echt die können direkt Arrays speichern? ok dann hab ich nix gesagt :>
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
sts1254

Registriert seit: 3. Jun 2003
6 Beiträge
 
#6

Re: Array of smallint in mysql speichern

  Alt 13. Apr 2005, 14:16
Ok, also jeden Wert mit Pk in eine extra Tabelle geht nicht. Prinzipiell soll jedem Datensatz in einer Tabelle (werden wohl max. ca 1000) einen Array zugeordnet werden.

@marabu: Wie würde man das von dir angedeute speichern in ein Blob-Feld machen?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Array of smallint in mysql speichern

  Alt 13. Apr 2005, 14:42
4 Mio Datensätze sind noch kein echtes Problem für ein Datenbanksystem wie MySQL, aber egal. Es gibt tatsächlich Gründe, aus denen man diese Lösung ausschlagen müsste.

Man kann BLOB Werte in MySQL über Hex-Strings im SQL-Statement einpflegen - siehe Handbuch.
Alternativ stellen deine Zugriffskomponenten wahrscheinlich ein Stream-Interface für BLOB Felder bereit. Ich habe mir ZEOS noch nicht angesehen, aber es wird sich bestimmt jemand finden, falls du auf weitere Probleme stossen solltest.
  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 13:18 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