AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

Ein Thema von Karstadt · begonnen am 25. Apr 2006 · letzter Beitrag vom 25. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 07:48
Datenbank: Mysql • Version: 4 • Zugriff über: MYDAC
Hallo.

Habe momentan Resoucrenproblem. Arbeiter mit MDI und bei wichtigen Fenstern habe ich onActive eine Funktion eingebaut, die mir alle Tabelle die sich nicht in bearbeitung / einfügmodus befinden sich aktuallisieren müssen. (Refresh) Nun habe ich an einigen stellen wo ich berechnete Felder und ca 20 DB Komponenten benutzer ein Problem das das ganze ca 5. Secunden (bei wenigen DS) dauert. Wie kann ich diesen Vorgang beschleunigen?


Dank für Ihre Hilfe.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 07:51
Benutzt du TTable oder TQuery?
Markus Kinzler
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#3

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 07:57
Tmyquery und in einigen fällen Tmytable. Warum?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 08:05
Weil bei Tables die gesamte Datenmengeim Speicher gehalten wird ( Ist vielleicht bei mydac anders)
Markus Kinzler
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#5

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 08:13
ja. die Tmytable besteht auch aus select. Tmytable die ich benutze benötigt aber alle DS. Z.b. in Mitarbeiterverwaltung brauche ich alle Mitarbeiter damit ich alle mitarbeiter in einem DBGRIB anschauen kann und gegebenenfals bearbeiten. sontst arbeite ich immer mit myquery und begrenze die datensätze mit select. Ach ja, ich arbeiter auch mit Masterdatasource.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 08:18
ich glaube was mkinzler meinte war, dass du wahrscheinlich nicht alle Felder in dem Grid anzeigen lässt, diese jedoch bei TTAble mit in den Speicher geladen werden, was natürlich auch enorm Zeit kostet. bei TQuery lassen sich die nicht benötigten Felder aussortieren, sodass viel weniger Speicher benutzt wird und das ganze dadurch wesentlich performanter wird.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#7

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 08:23
Zitat:

ich glaube was mkinzler meinte war, dass du wahrscheinlich nicht alle Felder in dem Grid anzeigen lässt, diese jedoch bei TTAble mit in den Speicher geladen werden, was natürlich auch enorm Zeit kostet. bei TQuery lassen sich die nicht benötigten Felder aussortieren, sodass viel weniger Speicher benutzt wird und das ganze dadurch wesentlich performanter wird.
Wenn ich mit TTable arbeite benötige ich aber alle Felder. Die werden mit daten gefüllt. ich habe also 20 Felder und die Eingabemaske hat auch 20 Eingabefelder. dann kann ich leider nichts weglassen. Wenn ich einfeld weglassen kann kommt ein fehler feld nicht gefunden. Oder habe ich euch falsch verstanden?
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#8

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 08:59
Wie würdet ihr in diesen Fall vorgehen ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 09:13
Hierzuu müßte man die Struktur der DB, die Beziehungen der DB-Kompos ( Master/Detail) und die komplexität der berechneten Felder kennen.
Markus Kinzler
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#10

Re: Datenbankaktuallisierung bei 20 Benutzer (MYSQL 4.1)

  Alt 25. Apr 2006, 09:59
ich versuche es zu beschreiben:

Tabelle Mitarbeiter hat 20 Felder hat einen berechnetes Feld Arbeitgeber. Die Arbeitgeber ID ist in der Mitarbeiter Tabelle gespeichert und die arbeitgeber information wird ausgerechnet. (Ag_name + Ag_vorname). Außerdem hat die Tabelle Mitarbeiter ein Feld id_fz (fahrzeug) dieses Feld ist ein Masterkey für die Mastersource eigenschaft der Tabelle Fahzeuge... (das war eine sehr grobe beschreibung, oder meinst du was anderes)

300 Mitarbeiter = 300x Arbeitgeber berechnen und in DBGRIB anzeigen. Ich glaube aber nicht das das an diesen berechneten Feldern liegt. Ich habe eimal mit eine Tabelle experemetiert die über 4.000 ds hatte dort habe ich die mehrere Felder zusammengefasst, dauer wenige als eine sekunde.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:54 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