Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MySQL - welches System hat bessere Performance

Frage Entwicklung Datenbanken

Mitglied: dawson

dawson (Level 1) - Jetzt verbinden

09.09.2008, aktualisiert 19.09.2008, 2881 Aufrufe, 1 Kommentar

Hallo,
würde gerne wissen, was eurer Meinung nach bei folgender Problemstellung die bessere Performance bzw. das besseres Handling liefern würde:

Aufgabe: eine (persönliche) Erweiterung der Open-Geo-DB mit einem weiteren Kennzeichen bzw. Fremd-Schlüssel (aus einer anderen Tabelle) für jeden Ort. Ein Ort kann einen, keinen oder mehrere Fremd-Schlüssel erhalten.

versch. Lösungsansätze meinerseits:
1. für jeden Ort und jeden Fremdschüssel einen neue Zeile, d.h. sollte ein Ort 3 Fremdschlüssel zugewiesen bekommen, so wären dies 3 Zeilen / Datensätze in der MySQL-Tabelle (bei der Open-Geo-DB wäre das dann die Tabelle "geodb_intdata").

oder

2. ein Ort erhält in der Tabelle "geodb_textdata" bei seiner Orts-ID (loc_id) z.B. bei 1 Fremdschlüssel den Eintrag "482"; bei 3 Fremdschlüsseln "482#31#1045", also alle 3 Fremdschlüssel in einem Datensatz, in einem Feld, getrennt über ein "#", damit ich daraus z.B. mit $array = explode ( '#', $fremdschuessel ); ein Array machen kann.

Was wäre von der Abfrage her schneller und was wäre einfacher umzusetzen bzw. leichter in einem PHP-Script zu handhaben? Man muss auch bedenken, dass die einzelnen, zusätzlichen Einträge in die Open-Geo-DB per Hand gemacht werden müssen. Und: es soll später auch immer noch möglich sein, die neuesten Updates der Open-Geo-DB wieder einzuspielen bzw. die DB mal wieder komplett neu aufzubauen und meine zusätzlichen Werte dann wieder der aktuelleren DB hinzuzufügen.

Vielleicht bin ich auch noch unerfahren in DB-Design - evtl. gibts ja noch eine ganz andere, viel bessere Lösung?!?


Danke schon mal für eure Vorschläge...

Ciao
Dawson
Mitglied: solaris-ch
19.09.2008 um 09:20 Uhr
Hi Dwason

so wie ich das sehe definitiv Variante 1 mit den weiteren Zeilen.
Man denke hierbei an die Indexierung, welche definitiv effizienter sein wird, als wenn du mehrere Schlüsselwerte (Integer) mit einem Zeichen mischst.

Eine weiter Variante wäre die folgende:

Du erstellst eine weitere Tabelle, welche zum einen den Schlüssel des Ortes enthält und zum andern den Fremdschlüssel. Und dann wie bei Deiner Variante 1 pro Zeile einmal OrtsID und einmal Fremdschlüssel. Beide Schlüssel Indexieren und dann über zB INNER JOIN die Tabellen koppeln.

Vorteil dabei: Die beiden Tabellen sind in Zwei verschiedenen Files. Dadurch kann die DB beim Joinen zwei Files parallel absuchen. Bei Clustern kannst Du dann noch das zweite DB File auf eine andere Harddisk packen.

Aber am einfachsten probierst Du mal aus. Denke dass Deine Variante 1 sehr gut funktionieren wird.

Grüsse
Bitte warten ..
Ähnliche Inhalte
Windows Server
Virenschutz und Performance auf Server-System
Frage von steftsWindows Server9 Kommentare

Hallo, wir kämpfen schon seit einer Weile mit einem Thema rum, für das wir nicht so richtig eine Lösung ...

Datenbanken
MySQL Abfrage schlechte Performance
Frage von TorstenEDatenbanken7 Kommentare

Ich mache folgende Abfrage Suche alle Artikel in welchem der "Suchbegriff" im Name des Artikels vorkommt oder in 2 ...

Linux Desktop
ThinClients - Performance
Frage von TlBERlUSLinux Desktop3 Kommentare

Hallo Zusammen, wir überlegen, bei uns einige Rechner, die nur auf dem Terminalserver(2008R2) arbeiten, auf ThinClients umzustellen. Hierzu haben ...

LAN, WAN, Wireless
Performance Netzwerk
Frage von TomCatShSLAN, WAN, Wireless5 Kommentare

Hallo, wir haben die befürchtung das etwas mit unserem Netzwerk nicht stimmt. Iperf Messungen: Server > Arbeitstation C:\iperf>iperf3.exe -c ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 2 StundenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 9 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 11 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 14 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...