Ankündigung

Einklappen
Keine Ankündigung bisher.

Row size too large (> 8126)

Einklappen

Neue Werbung 2019

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

  • Row size too large (> 8126)

    Ich hab ca. 40.000 Inserts in einer DB zu machen.
    Damit das schneller geht, hatte ich URSPRÜNGLICH 1.000 insert Zeilen zu einer zusammengefasst.
    DAS GING !!!... weil jede Zeile nicht wirklich lang war.

    Nun bin ich aber in ein Bereich, der auch 40.000 Datensätze hat... aber sehr lange Inhalte und viele Spalten.
    Da bekomm ich dann: Row size too large (> 8126)

    ok. Die Zeile ist zu lang. Ich muß also mein SQL insert kürzen.
    Das hatte ich jetzt auch vor und wollte es professionell gestalten indem ich mittels strlen die zeichen zähle.
    Nur was zähle ich... und ist mit "Row size too large (> 8126)" überhaupt die Zeichenlänge gemeint ?


    Wenn ja:
    Zählt der gesamte String eine Rolle ?
    Oder nur die jeweilige Datenzeile ?
    Oder der Header + die jeweilige eine Zeile ?

    Danke

  • #2
    Du hast wohl zu viele Spalten. Sehr viele Spalten deuten meist auf ein fehlerhaftes Datenbankdesign hin.

    Oder es passt die Konfiguration nicht. Siehe:

    https://confluence.atlassian.com/con...658735905.html

    Kommentar


    • #3
      Zitat von hellbringer Beitrag anzeigen
      Sehr viele Spalten deuten meist auf ein fehlerhaftes Datenbankdesign hin.
      Naja. Eher nicht. bzw. nur das, was unbedingt notwendig ist um einen Datensatz aufzunehmen.

      Kommentar


      • #4
        Zitat von daniel_1998 Beitrag anzeigen
        Naja. Eher nicht. bzw. nur das, was unbedingt notwendig ist um einen Datensatz aufzunehmen.
        Wie sieht die Tabellenstruktur aus?

        Kommentar


        • #5
          Setze die innodb_page_size auf 64k oder höher.
          https://www.percona.com/blog/2006/06...odb-page-size/
          Siehe auch https://dev.mysql.com/doc/refman/5.7...unt-limit.html

          Kommentar


          • #6
            hmm... klappt irgendwie garnicht. protestix

            Meine my.cnf sieht so aus:
            Code:
            [mysqld]
            innodb_page_size=64K
            innodb_buffer_pool_size=4G
            innodb_log_file_size=1G
            Damit startet mysql nicht mehr:
            Code:
            -- Logs begin at Mo 2017-06-26 22:11:24 CEST, end at Mi 2017-06-28 13:42:34 CEST. --
            Jun 28 13:42:26 php-server CRON[19042]: pam_unix(cron:session): session closed for user root
            Jun 28 13:42:34 php-server /etc/init.d/mysql[19967]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
            Jun 28 13:42:34 php-server /etc/init.d/mysql[19967]: [61B blob data]
            Jun 28 13:42:34 php-server /etc/init.d/mysql[19967]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
            Jun 28 13:42:34 php-server /etc/init.d/mysql[19967]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
            Jun 28 13:42:34 php-server /etc/init.d/mysql[19967]:
            Jun 28 13:42:34 php-server mysql[19077]: Starting MySQL database server: mysqld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . failed!
            Jun 28 13:42:34 php-server systemd[1]: mysql.service: control process exited, code=exited status=1
            Jun 28 13:42:34 php-server systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
            -- Subject: Unit mysql.service has failed
            -- Defined-By: systemd
            -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
            --
            -- Unit mysql.service has failed.
            --
            -- The result is failed.
            Nehme ich hingegen innodb_page_size=64K raus, startet mysql wenigstens mit den hochgesetzten anderen beiden Werten... die aber auch keinen Erfolg bringen.

            Meine Mysql-Version FALLS es da abhängigkeiten geben sollte.
            Code:
             
            innodb_version 5.5.55
            protocol_version 10
            slave_type_conversions
            version 5.5.55-0+deb8u1
            version_comment (Debian)
            version_compile_machine x86_64
            version_compile_os debian-linux-gnu

            hellbringer ... kommt sofort.. mom

            Kommentar


            • #7
              Es handelt sich hierbei um die Struktur einer Warenwirtschaft.
              Diese basiert auf SQL (Also windows) und wurde weitesgehend auf Linux portiert um die gleichen Datenbankfelder nutzen zu können


              Code:
              SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
              SET time_zone = "+00:00";
              
              CREATE TABLE `WAWI_SOLL_Artikelbilder` (
                `id` int(10) NOT NULL,
                `Artikelnummer` varchar(100) NOT NULL,
                `Bild Pfad 1 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 2 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 3 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 4 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 5 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 6 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 7 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 8 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 9 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 10 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 11 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 12 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 13 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 14 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 15 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 16 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 17 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 18 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 19 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 20 = Drucken/Mailen/Faxen Bilder` varchar(150) NOT NULL,
                `Bild Pfad 1 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 2 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 3 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 4 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 5 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 6 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 7 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 8 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 9 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 10 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 11 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 12 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 13 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 14 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 15 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 16 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 17 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 18 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 19 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 20 = WMS/Packtisch` varchar(150) NOT NULL,
                `Bild Pfad 1 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 2 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 3 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 4 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 5 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 6 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 7 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 8 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 9 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 10 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 11 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 12 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 13 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 14 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 15 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 16 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 17 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 18 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 19 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 20 = shop1` varchar(150) NOT NULL,
                `Bild Pfad 1 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 2 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 3 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 4 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 5 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 6 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 7 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 8 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 9 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 10 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 11 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 12 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 13 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 14 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 15 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 16 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 17 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 18 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 19 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 20 = amazon` varchar(150) NOT NULL,
                `Bild Pfad 1 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 2 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 3 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 4 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 5 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 6 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 7 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 8 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 9 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 10 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 11 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 12 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 13 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 14 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 15 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 16 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 17 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 18 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 19 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 20 = ebay` varchar(150) NOT NULL,
                `Bild Pfad 1 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 2 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 3 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 4 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 5 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 6 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 7 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 8 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 9 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 10 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 11 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 12 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 13 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 14 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 15 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 16 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 17 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 18 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 19 = shop2` varchar(150) NOT NULL,
                `Bild Pfad 20 = shop2` varchar(150) NOT NULL
              ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
              
              
              ALTER TABLE `WAWI_SOLL_Artikelbilder`
                ADD PRIMARY KEY (`id`);
              
              
              ALTER TABLE `WAWI_SOLL_Artikelbilder`
                MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;

              Kommentar


              • #8
                OK, also eindeutig eine kaputte Tabellstruktur. Durchnummerierte Spalten sind Quatsch.

                Kommentar


                • #9
                  daniel_1998 Bitte lesen: http://www.peterkropff.de/site/mysql/normalisierung.htm
                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Zitat von daniel_1998 Beitrag anzeigen
                    SQL (Also windows)
                    wie kommst du auf sowas?

                    Kommentar


                    • #11
                      Zitat von ChromOxid Beitrag anzeigen
                      wie kommst du auf sowas?
                      Weil der Marketingheini von MS meinte das Produkt soll SQL-Server heissen... (denk ich mal)
                      [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                      Kommentar

                      Lädt...
                      X