hanns: mysql mit php abfragen - zeit und größe

hallo,

angenommen ich habe eine datebank mit
40.000 Einträgen.

Die Einträge mögen je aus 100 Worten "normalen"
Text bestehen.

Nun will ich die Datenbank per php "ganz normal"
(bin Anfänger) online nach einem Suchbegriff oder
einer kombination abfragen.

Frage:
Kann es da performance probleme geben, oder
sollte diese datenmenge innerhalb von 2 sekunden
zu den gewünschen resultaten führen können.

ich habe mal gehört, dass suchmaschinen einen
index bilden. kann ich das mit mysql auch??

gruss
hanns

  1. Hallo hanns,

    angenommen ich habe eine datebank mit
    40.000 Einträgen.

    Die Einträge mögen je aus 100 Worten "normalen"
    Text bestehen.

    Nun will ich die Datenbank per php "ganz normal"
    (bin Anfänger) online nach einem Suchbegriff oder
    einer kombination abfragen.

    Frage:
    Kann es da performance probleme geben, oder
    sollte diese datenmenge innerhalb von 2 sekunden
    zu den gewünschen resultaten führen können.

    ich habe mal gehört, dass suchmaschinen einen
    index bilden. kann ich das mit mysql auch??

    Ob MySQL einen Index bilden kann bin ich mir nicht im Klaren, daher verschweige ich hier eine Antwort. Jedoch sollte eine Suchanfrage in der von dir genannten Datenbank kein Problem für MySQL darstellen, denn gerade dafür wurde es ja gemacht.
    AFAIK muss MySQL bei größeren Projekten mit Millionen von Einträgen zurechtkommen, und dagegen ist deine Datenmenge minimal.

    2 Sekunden sind bei den heutigen Servern etwas zu lange, ich denke dass innerhalb dieser Zeit das Ergebnis da sein sollte - du kannst das aber mal selbst austesten, indem du am Anfang der Seite die Anzahl der Sekunden plus (Komma!) die Anzahl der Millisekunden nimmst, abspeicherst und am Ende von den dann aktuellen Sekunden + Millisekunden abziehst - so bekommst du die Dauer, die zwischen den beiden Befehlen liegt.
    Wenn in dieser Zeit deine MySQL-Abfrage durchgeführt wurde, kannst du so die Zeit relativ genau ermitteln.

    Bis dann!

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
  2. Hallo Hanns

    angenommen ich habe eine datebank mit
    40.000 Einträgen.

    Datenbanken bestehen typischerweise aus verschiedenen Tabellen.
    Die Tabellen weisen normalerweise mehrere Spalten (mindestens eine) auf und können viele, viele Datensätze enthalten. Ein solcher Datensatz kann in jeder Spalte Einträge enthalten, z.B. ein Wort, eine Zahl, ein Datum oder auch ein ganzes Kapitel eines Romans.

    Für diese Spalten stellen Datenbankmanagementsystems Datentypen zur Verfügung, die zum Speichern bestimmter Angaben besonders geeignet sind.

    Nun will ich die Datenbank per php "ganz normal"
    (bin Anfänger) online nach einem Suchbegriff oder
    einer kombination abfragen.

    Dafür ist die Volltextsuche zuständig.

    Kann es da performance probleme geben, oder
    sollte diese datenmenge innerhalb von 2 sekunden
    zu den gewünschen resultaten führen können.

    Ja, ohne Volltextsuche und ohne Index.

    ich habe mal gehört, dass suchmaschinen einen
    index bilden. kann ich das mit mysql auch??

    MySQL unterstützt seit Version 3.23 die Volltextsuche, siehe Handbuch, Kapitel Volltextsuche (engl.)

    Ich habe aus Deinem Posting den Eindruck gewonnen, dass Du Dich grundsätzlich mit Datenbankgrundlagen auseinandersetzen solltest (Irrtum meinerseits nicht ausgeschlossen).

    Freundliche Grüße

    Vinzenz