php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-10-2003, 23:21
Innuendo
 Guest
Innuendo
Beiträge: n/a
Standard Grau ist alle Theorie ...

Hallo an alle.

Heute mal keine Frage nach PHP-Codes oder SQL-Querys. Einfach eine theoretische Frage, die mich schon seit längerem interessiert.

Und bevor hier wieder öffentlich gefragt wird, warum man denn einen Auftrag annimmt, obwohl man nicht weiß, ob man diesen überhaupt bewältigen kann und die Antwort hier dann im Forum zu finden glaubt: NEIN, es ist kein Auftrag, sondern nur ein theoretisches Problem.

Folgende Ausgangssituation:

Es soll ein PHP-MySQL-System entstehen, mit dem eine unbestimmte Anzahl von Nutzern per Browser über das Internet arbeiten kann. Zu erwarten ist, dass pro Nutzer ca. 300 Einträge pro Monat entstehen (also bei ca. 50 Nutzern insgesamt 15.000 Einträge pro Monat). Das sind auf das Jahr hochgerechnet viele Einträge, nämlich 180.000 Stück.

Die Fragen:

1. Wie sieht es mit der Performance aus, wenn derart viele Datensätze erfasst werden? Ich kann mir vorstellen, dass das System sicher "einige Zeit" braucht, wenn beispielsweise schon 100.000 Einträge existieren, Nutzer Nr. 27 seine 3.600 Einträge einsehen möchte und das Skript diese 3.600 aus den bestehenden 100.000 erst einmal herausfiltern muss. Man sollte noch hinzufügen, dass dabei sicher auch Abfragen über 2 oder mehreren Tabellen stattfinden könnten.

2. Wie sieht es mit der maximal zu sichernden Datenmenge aus? Das MySQL-Handbuch gibt für mich widersprüchliche Antworten. 4 Gigabyte? 8 Terabyte? "Non removable disk capacity" is the limit?

3. Wie könnte / müsste man das Tabellensystem planen, welches die Datensätze der Kunden erfassen soll? Für jeden Buchstaben im Alphabet eine Tabelle anlegen, damit Kunde Auermann in der A-Tabelle landet und Kunde Mustermann in der M-Tabelle? Sicher keine gute Idee. Alle Kunden, deren Name von A-M reicht, in eine Tabelle, alle Kunden von N-Z in eine zweite Tabelle? Sicher auch keine gute Idee. Doch lieber alle Kundendatensätze in einer Tabelle lassen? Da sehe ich die Gefahr der "Langsamkeit".

Bin für alle ernstgemeinten Anregungen, Tipps oder Hilfestellungen dankbar.

Innuendo
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 21-10-2003, 23:32
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

2. http://www.mysql.com/doc/en/Table_size.html (vor allem die comments)

1. und 3. daten gleicher struktur kommen in eine tabelle, wenn du da geschickt spalten indizierst, laufen auch selects angenehm schnell
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #3 (permalink)  
Alt 22-10-2003, 10:23
Innuendo
 Guest
Innuendo
Beiträge: n/a
Standard

Zu 2.: Meine Aussage bezog sich auf die von Dir angegebene Seite. Also ist es system- und plattenabhängig?

Wie darf ich Deine Antwort zu 1. und 3. verstehen?
Mit Zitat antworten
  #4 (permalink)  
Alt 22-10-2003, 10:29
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

2.
wenn ich die seite inklusive kommentare richtig verstehe, is die maximale dateigröße (jede tabelle in mysql is ja eine datei) vom betriebssystem abhängig
da rein theoretisch eein betriebssystem aber dateien mit ner maximalen größe von elfundzwanzig terabyte verwalten kann, obwohl die vorhandene festplatte aber nur 800MB groß, ist das auch plattenabhängig


1. und 3.
überleg dir was für infos du brauchst, befass dich mit normalisierung (falls noch nicht geschehen) und fertig
ganz einfach ausgedrückt soll meine aussage heißen:
- mache eine tabelle für alle kunden, egal mit was für nem buchstabe ihr name beginnt
- leg einen index auf die spalte die den namenenthält, dann is ein WHERE kundename LIKE 'A%' nämlich schneller als ohne index
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 22-10-2003, 10:41
Innuendo
 Guest
Innuendo
Beiträge: n/a
Standard

Zitat:
Original geschrieben von mrhappiness
- leg einen index auf die spalte die den namenenthält, dann is ein WHERE kundename LIKE 'A%' nämlich schneller als ohne index
Schön, dadurch würden alle A-Kunden ausgewählt. Das Problem wäre aber ein anderes. Wie ich weiter oben schon schrieb: Kunde Nr. 27 wählt seine 200 Dezember-Einträge aus über 100.000 Einträgen (von allen Kunden) aus. Das dauert doch sicher einiges an Zeit. Und wenn dann noch 20 Kunden gleichzeitig damit arbeiten, dürfte das die Performance noch weiter herunterdrücken. Jedenfalls vermute ich das.
Mit Zitat antworten
  #6 (permalink)  
Alt 22-10-2003, 10:45
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

war doch nur ein beispiel. wenn es möglich ist, dass ein kunde seine beiträge ausliest, dann geht das ja über die spalte kundeid oder?
spricht etwas dagegen, einfach auf diese spalte nen index zu setzen?

mehr dazu hier: http://www.mysql.com/doc/de/Query_Speed.html (auch die unterseiten lesen)
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #7 (permalink)  
Alt 22-10-2003, 10:47
Innuendo
 Guest
Innuendo
Beiträge: n/a
Standard

Nein, gar nichts. Wenn Du als Experte das sagst, wird das sicher Hand und Fuß haben. Man müsste sich nur dann etwas mit der Indizierung befassen, sprich: Belesen.
Mit Zitat antworten
  #8 (permalink)  
Alt 22-10-2003, 13:22
invitatoinvitat
 Junior Member
Links : Onlinestatus : invitatoinvitat ist offline
Registriert seit: May 2003
Beiträge: 133
invitatoinvitat ist zur Zeit noch ein unbeschriebenes Blatt
Standard

derzeit habe ich auch eine tabelle in verwendung, in der monatlich 50.000 einträge hinzugefügt werden, und zu guten zeiten greifen ca. 50 leute darauf zu, und wählen bis zu 500 einträge aus (die abfrage greift auf 2 tabellen zu)
es ist trotzdem schnell, wie von mrhappiness gesagt mit einem index auf die id des users
Mit Zitat antworten
  #9 (permalink)  
Alt 22-10-2003, 13:38
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wobei das noch kleine Datenmengen sind...

auf ne Mysql schulung haben sie mal was erzählt von ner anwendungen, die mehrere millionen zeilen in einzelnen tabellen hält...

ist sehr stark vom entwickler abhängig, wie schnell das system läuft und von der verwendeten architektur (Serverhardware/anzahl).

Macht der Programmierer mist is die anwendung lahm! durch optimieren von query kann man immer was rausholen (es sei denn, sie sind optimal )

gruss
Mit Zitat antworten
  #10 (permalink)  
Alt 22-10-2003, 13:53
Innuendo
 Guest
Innuendo
Beiträge: n/a
Standard

Lieber vorher fragen, bevor hinterher alles falsch läuft.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:33 Uhr.