Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: BAUSTELLE: Zusätzliche Indizes für die Datenbank

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #90 am: 19. Juli 2012, 10:41:25
    Gibt's zu dem Theama hier einen aktuellen Stand?

    Hab' jetzt alles gelesen, hat mir bisher allerdings leider nicht weitergeholfen.

    ... 'ne Anleitung wäre nicht schlecht.
    rechtstexte für onlineshop

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #91 am: 22. April 2013, 13:52:08
    Hier ist die Anleitung.

    http://shopnix.wordpress.com/category/xtcommerce/performance/

    Bei der Gelegenheit: Ich bekomme keine Mails mehr bei abonnierten Themen. Bin ich da der Einzige?

    NicoDeluxe

    • Fördermitglied
    • Beiträge: 987
    • Geschlecht:
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #92 am: 22. April 2013, 13:53:44
    Ich bekomme noch Mail-Benachrichtigungen

    Scubi

    • Mitglied
    • Beiträge: 220
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #93 am: 24. Juni 2013, 00:11:56
    In meinem Shop habe ich das Problem, das die Umsatzstatistik nach 10 Jahren DB Betrieb enorm lange braucht.

    Habt Ihr da eine Lösung?

    Gruß Scubi

    Marcel G.

    • Fördermitglied
    • Beiträge: 398
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #94 am: 24. Juni 2013, 00:23:43
    Backup machen und alles was du nicht mehr wirklich brauchst löschen?

    web28

    • modified Team
    • Beiträge: 9.404
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #95 am: 26. Juni 2013, 10:28:50
    In meinem Shop habe ich das Problem, das die Umsatzstatistik nach 10 Jahren DB Betrieb enorm lange braucht.

    Habt Ihr da eine Lösung?

    Gruß Scubi

    Wieviel Bestellungen sind denn im Shop? Welche Shopversion ist das?
    Man kann durchaus an ein paar Schrauben drehen für eine schnellere Anzeige.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #96 am: 26. Juni 2013, 12:57:41
    Gerhard hat die Umsatzstatistik für die kommende Version bereits komplett überarbeitet. Du kannst uns einfach eine Anfrage per Kontakt-Formular schicken, wenn du nicht bis zur nächsten Shopversion warten möchtest und wir erstellen dir ein Angebot für den Einbau der neuen Umsatzstatistik in deinen Shop.

    Grüße

    Torsten

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #97 am: 05. Juni 2014, 17:45:33
    Ich habe wieder einmal einen Index eingebaut, der enorme Performancegewinne im Admin-Bereich bei der Bearbeitung von Bestellungen bringen kann. Wäre schön, wenn der in den Standard wandern könnte:

    Code: SQL  [Auswählen]
    ALTER TABLE orders ADD INDEX (orders_status);

    Bei einem neuen Shop macht sich das nicht bemerkbar, in dem von mir bearbeiteten Fall mit knapp 10000 Aufträgen wurde der Seitenaufruf nach Änderung des Filters von "alle" auf "offene" Bestellungen um 20 Sekunden schneller.

    Ich muß wahrscheinlich hinzufügen, dass diese 20 Sekunden entscheidend auch von der Serverlast und der darunter liegenden Hardware abhängig sind.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #98 am: 05. Juni 2014, 18:06:56
    Ich habe das auf jeden Fall mal in Ticket #246 festgehalten, damit wir das nicht vergessen.

    Grüße

    Torsten

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #99 am: 23. Juni 2014, 15:30:30
    Frage: Welchen Sinn hat der FULLTEXT KEY für den Content-Manager?

    Die Tabelle sollte im Normalfall nur einige wenige Datensätze haben, da spielt der full table scan nun wirklich keine Rolle.

    webald

    • modified Team
    • Beiträge: 2.791
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #100 am: 23. Juni 2014, 15:43:30
    Die Frage ist ob der Index überhaupt genutzt wird. Mir fällt nämlich spontan keine Abfrage im Shop ein, die den Index überhaupt braucht. Die müßte ja in etwa so aussehen SELECT * FROM content_manager WHERE MATCH (content_meta_title,content_meta_description).

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #101 am: 05. Januar 2016, 11:55:07
    Wer als nicht-Experte Indices anlegen möchte und keine Ahnung von Datenbanken hat, und sich nicht zutraut das in myphpadmin hinzubekommen, oder wie ich einfach nur zu faul ist manuell jeden Index einzeln zu prüfen, der kann das Script hier nehmen.
    Einfach im shoproot ablegen und über den Browser aufrufen. (Danach löschen nicht vergessen!)

    Das Array ist auf die eigenen Bedürfnisse anzupassen. Hier fast identisch mit dem Vorschlag im ersten Post.

    Bei jedem Index wird geprüft, ob es den schon gibt, wenn nicht, wird der angelegt.
    Nachdem eine Tabelle komplett abgearbeitet ist, wird die Tabelle analysiert und optimiert.
    Code: PHP  [Auswählen]
    <?php

    include('includes/application_top.php');


    // define array of indexes to set

    $arr_indices = array (
                                                    'shipping_status'                       => array('language_id'),
                                                    'products'                                      => array('products_startpage'),
                                                    'products_to_categories'        => array('categories_id'),
                                                    'orders_products'                       => array('orders_id','products_id'),
                                                    'zones_to_geo_zones'            => array('geo_zone_id'),
                                                    'tax_rates'                                     => array('tax_zone_id'),
                                                    'products'                                      => array('manufacturers_id'),
                                                    'specials'                                      => array('products_id')
                                            );

    // loop oder array
    foreach (array_keys($arr_indices) as $table) {
            // check if index is there
            foreach ($arr_indices[$table] as $column) {
                    $result = xtc_db_query("SHOW INDEX FROM ".$table." WHERE Column_name='".$column."';");
                    if (xtc_db_num_rows($result)>0) {
                            // we already have an index
                            echo "INDEX auf Tabelle ".$table." für Spalte ".$column." existiert bereits<br />\n";
                    } else {
                            // we wish to create an index
                            $result = xtc_db_query("ALTER TABLE ".$table." ADD INDEX ".$column."(".$column.");");
                            if ($result) {
                                    echo "Index für Spalte ".$column." auf Tabelle ".$table." erfolgreich angelegt<br />\n";
                            } else {
                                    echo "FEHLER beim Anlegen von Index für Spalte ".$column." auf Tabelle ".$table."<br />\n";
                            }
                    }
                   
            }
            // make sure, indices are rewritten by DB engine
            if (xtc_db_query("ANALYZE TABLE ".$table)) echo "Tabelle ".$table." analysiert<br />\n";
            if (xtc_db_query("OPTIMIZE TABLE ".$table)) echo "Tabelle ".$table." optimiert<br />\n";
    }
    ?>

    BiDoubleU

    • Fördermitglied
    • Beiträge: 295
    • Geschlecht:
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #102 am: 16. Februar 2016, 15:24:11
    Vielen Dank Bonsai,
    genau das was ich gesucht habe. Wollte schon anfangen mit dem phpadmin aber das spart mir viel Zeit!  :thx:
    LG
    BiDoubleU

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.986
    • Geschlecht:
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #103 am: 16. Februar 2016, 18:30:44
    Außerdem sollte man auch schauen ob vielleicht Indexes 'disabled' sind und ob die 'Cardinality' vergeben ist.
    Wenn keine Cardinality vergeben ist werden die Indexe nicht verwendet by SELECTs, dann "ANALYZE TABLE XXXX" ausführen (geht auch in phpMyAdmin mittels des Menus unten).
    Ich habe dafür allerdings auch ein Skipt wo mittels Checkboxen ganz einfach ein "ALTER TABLE XXX ENABLE KEYS" und sowohl "ANALYZE TABLE XXX" als auch "OPTIMIZE TABLE XXX" angestossen werden können.
    Das kann ich hier aus dem Stegreif aber nicht posten weil es in ein komplexeres Admin-Tool mit vielen includes eingebaut ist.

    Gruß,
    noRiddle

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: BAUSTELLE: Zusätzliche Indizes für die Datenbank
    Antwort #104 am: 16. Februar 2016, 18:39:40
    Gute Hinweise .... wusste gar nicht, dass man einen Index disablen kann.
    15 Antworten
    14415 Aufrufe
    05. Januar 2014, 20:48:46 von Holgi
    39 Antworten
    19918 Aufrufe
    05. Oktober 2017, 15:52:32 von webald
               
    anything