alex_: ALTER TABLE

huhu

also ich habe gerade ein problem:

  • ein alter table befehl zum hinzufügen von spalten benötigt in mysql 4.0.10 fast 1s und das ist mir zu heftig.

  • ich stieg um auf mysql 4.0.13 und da ist das gleiche problem.

  • danach hab ich mysql 5 beta installiert und schon gibt es einen mysql fehler bei dem befehl und der socket stürzt ab.

jetzt meine frage: habt ihr damit schon negative erfahrungen gemacht oder könnt ihr das ebenfalls bestätigen?

wenn ja, wie löse ich das problem?

  1. Hallo Alex,

    also ich habe gerade ein problem:

    • ein alter table befehl zum hinzufügen von spalten benötigt in mysql 4.0.10 fast 1s und das ist mir zu heftig.

    Da man Tabellen extrem selten ändert, ist das doch kein Problem.

    wenn ja, wie löse ich das problem?

    Die Datenbankstruktur überprüfen und so abändern, dass das Hinzufügen von Spalten überflüssig wird. Wenn man ständig Spalten hinzufügen muss, dann ist mit an Sicherheit grenzender Wahrscheinlichkeit die Datenbankstruktur fehlerhaft.

    Freundliche Grüße

    Vinzenz

    1. also die BDB Tabellen sind eigentlich fast leer und ich muss des öfteren spalten hinzufügen oder löschen.

      bitte es bringt mir nix zu hören dass die konzeption falsch ist wenn ihr eh keine lösung dafür bringen könnt.

      im log file sieht es dann so aus:

      050811 12:20:22      80 Query       ALTER TABLE M_Attr_Table3.M_ATTR_TABLE3 ADD INFO TEXT, ADD INSERT TEXT, ADD UPDATE TEXT, ADD DROP TEXT
      /usr/sbin/mysqld-max, Version: 5.0.10-beta-Max-log. started with:
      Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock
      Time                 Id Command    Argument

      bzw:

      050811 15:24:46 [ERROR] bdb:  Log sequence error: page LSN 0 0; previous LSN 1 144252
      050811 15:24:47  InnoDB: Database was not shut down normally!
      InnoDB: Starting crash recovery.
      InnoDB: Reading tablespace information from the .ibd files...
      InnoDB: Restoring possible half-written data pages from the doublewrite
      InnoDB: buffer...
      050811 15:24:47  InnoDB: Starting log scan based on checkpoint at
      InnoDB: log sequence number 0 43675.
      InnoDB: Doing recovery: scanned up to log sequence number 0 43675
      050811 15:24:47  InnoDB: Started; log sequence number 0 43675
      050811 15:24:47 [Note] Recovering after a crash using mocone
      050811 15:24:47 [Note] Starting crash recovery...
      050811 15:24:47 [Note] Crash recovery finished.
      050811 15:24:47 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
      Version: '5.0.10-beta-max-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Edition - Experimental (GPL)

      1. achso und als fehlermeldung ganz wichtig kommt noch:

        DBD driver has not implemented the AutoCommit attribute at /srv/www/cgi-bin/libs_new/MySQL_Lib.cgi line 278.

        bei mysql 5 wohlgemerkt, bei 4.0.10 ging das mit transaktionen

        ich versuch jetzt n DBI 1.48 zu installieren, meine letzte hoffnung

        gruß

      2. Hallo alex_,

        also die BDB Tabellen sind eigentlich fast leer und ich muss des öfteren spalten hinzufügen oder löschen.

        Warum?

        bitte es bringt mir nix zu hören dass die konzeption falsch ist wenn ihr eh keine lösung dafür bringen könnt.

        Wie denn? Da du nichts über deine Datenstruktur verraten hast, können wir auch schlecht Verbesserungsvorschläge machen ...

        Grüße aus Nürnberg
        Tobias

  2. Ahoi alex_,

    • ein alter table befehl zum hinzufügen von spalten benötigt in mysql 4.0.10 fast 1s und das ist mir zu heftig.

    fast 1s? bei mir geht das wesentlich schneller, ist in der tabelle
    sehr viel an daten? und du hast nen default wert angegeben welcher
    jetzt zu jedem datensatz hinzugefügt wird?

    • danach hab ich mysql 5 beta installiert und schon gibt es einen mysql fehler bei dem befehl und der socket stürzt ab.

    fehlermeldung?
    das ALTER TABLE das du ausführst hier mal zeigen?

    jetzt meine frage: habt ihr damit schon negative erfahrungen gemacht oder könnt ihr das ebenfalls bestätigen?

    also bei mir ist das nichtmal eine sachen von ner halben sekunde.

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    \     \           /    /              \    \          /     /
     \     \         /    /                \    \        /     /
      \     /´¯.l.¯\    /                  \   /´¯.l.¯\     /
      |    l   .l.  (¯ '\                   /' ¯)  .l.   1    |
      l    l   .l.   \   \                 /   /   .l.   1    1
      l    l´¯.l´¯.l  \  '|               |'  /  1.¯´1.¯´1    1
      \                                                       /