Probleme mit der DB Größe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit der DB Größe

    Hi Kollegen,


    ich hab ne Songtextseite mit ca. 70.000 Songtexte, die Datenbank ist entsprechend groß: ca. 100 MB (MySQL).
    Mein Provider meinte, ich müsste die Seite überarbeiten, da die Datenbank einfach zu groß sei, und ständig abschmiert.
    Die Tabellenstruktur ist allerdings schon normalisiert, viel kann man da IMHO nicht mehr tun.

    Den Großteil der Daten machen die reinen texte aus:
    Die liegen in einer extra Tabelle namens texte mit den Feldern
    textid (mediumint unsigned) und longtext

    Der Index der Songtexte umfasst dagegen "nur" 7,8 MB.
    und ist unterteilt auf 3 Tabellen:
    Code:
    #
    # Tabellenstruktur für Tabelle `album`
    #
    
    CREATE TABLE album (
      albumid mediumint(6) unsigned NOT NULL auto_increment,
      artistid mediumint(6) unsigned NOT NULL default '0',
      album varchar(60) NOT NULL default '',
      PRIMARY KEY (albumid),
      KEY album(album)
    ) 
    # --------------------------------------------------------
    
    #
    # Tabellenstruktur für Tabelle `artists`
    #
    
    CREATE TABLE artists (
      artistid mediumint(8) unsigned NOT NULL auto_increment,
      artist varchar(60) NOT NULL default '',
      texte int(6) unsigned NOT NULL default '0',
      PRIMARY KEY (artistid),
      KEY artist(artist)
    ) 
    # --------------------------------------------------------
    
    #
    # Tabellenstruktur für Tabelle `lyrics`
    #
    
    CREATE TABLE lyrics (
      id mediumint(11) unsigned NOT NULL auto_increment,
      artistid mediumint(6) unsigned NOT NULL default '0',
      albumid mediumint(6) NOT NULL default '0',
      hits smallint(6) NOT NULL default '0',
      titel varchar(60) NOT NULL default '',
      status tinyint(1) NOT NULL default '0',
      art tinyint(1) NOT NULL default '0',
      akkorde tinyint(1) NOT NULL default '0',
      timestamp int(20) unsigned NOT NULL default '0',
      userid smallint(4) unsigned NOT NULL default '0',
      unregname varchar(120) NOT NULL default '',
      unregemail varchar(155) NOT NULL default '',
      ip varchar(70) NOT NULL default '',
      tofix tinyint(1) NOT NULL default '0',
      deleted tinyint(1) NOT NULL default '0',
      deltime int(16) NOT NULL default '0',
      adminid int(11) NOT NULL default '0',
      PRIMARY KEY (id),
      KEY lyrics_1(titel),
      KEY lyrics_2(artistid),
      KEY deleted(deleted),
      KEY akkorde(akkorde),
      KEY art(art)
    )

    Kann man da noch so viel tun ?
    Die Suchanfragen laufen mit LIKE am meisten über die Felder
    titel und artist..





    Mein Provider hat mir vorgeschlagen, die Texte in .txt Dateien zu speichern. Was haltet ihr davon ?

    Da würde wohl ein Serverwechsel auch nicht soviel bringen, oder ?


    MfG Troublegum
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

  • #2
    100 MB sind nicht viel!

    Warum machst du die Abfrage mit Like. Hast du es mal mit der VOLLTEXTSUCHE versucht. Ich denke das bringt einiges an performance.

    gruß
    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Hi!

      Ich hätte auch vorgeschlagen die Text in txt-files auszulagern. Als Namen nimmst Du am einfachsten die ID des Songtextes.
      In deinen Seiten kannst Du mit php dann einfach das txt-file includen und fertig.

      An der DB sehe ich keine Möglichkeit noch Speicherplatz zu sparen.

      cu tj99de
      Of all things I've lost
      I miss my mind the most

      Kommentar


      • #4
        Original geschrieben von Berni
        Warum machst du die Abfrage mit Like. Hast du es mal mit der VOLLTEXTSUCHE versucht. Ich denke das bringt einiges an performance.
        Du meinst die Volltextindex Funktionen von mySQL.
        Ein solcher Index lässt sich nur auf Textfelder anwenden.
        Nicht auf char oder varchar Felder..
        Am häufigsten wird der Titel und der Interpretenname durchsucht.


        @tj99.de: Meinst du wirklich, das ist ne gute idee ?
        ich hab da so meine Bedenken..
        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

        © Harald Schmidt

        Kommentar


        • #5
          Wieso hast Du da bedenken? Sollte doch eigentlich kein Problem sein, oder gibt es etwas, daß gegen txt-files spricht?
          Of all things I've lost
          I miss my mind the most

          Kommentar


          • #6
            naja dann macht das wohl wening sinn.

            php-Entwicklung | ebiz-consult.de
            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
            die PHP Marktplatz-Software | ebiz-trader.de

            Kommentar

            Lädt...
            X