Beiträge von Tobse

    Zitat


    Ach das fällt mir ja grad erst auf... Junge, schau dir erstmal meinen Code richtig an...
    Ich habe das ganze in einer for-Schleife die 1000x durchlaufen wird, du hast einen Durchlauf. Also bitte...


    Ja, das ist mir vorhin auch aufgefallen, dummer Fehler. Deswegen ändert sich an der Sitation nichts. PHP+INT ist schneller als PHP+DATE und MySQL+DATE ist schneller als PHP+DATE und ob PHP+INT schneller als MySQL+DATE ist kann man ja auchnoch herausfinden.
    Aber euer Ton wird zunehmend herablassend, unsachlich und vorallem unrespektvoll. Ich diskutiere gerne weiter wenn sich das ändert.

    EDIT:
    Auf eine Tabelle mit 100.000 Datensätzen

    Code
    id, INT(6) | time, INT(11)
    -----------+---------------
    1          | 1313756907
    -----------+---------------
    2          | 1313789164
    -----------+---------------
    usw.


    erstellt mit

    PHP
    $sql="INSERT INTO timetable (time) VALUES (".(time()-1000000+rand(0, 1000000)).")";
    Code
    2.9573171138763
    2.9359569549561
    3.0700311660767
    3.018052816391


    Und nochmals auf 100.000 DATE datensätze erstellt mit

    PHP
    $sql="INSERT INTO timetable (time) VALUES ('".rand(1000,2100)."-".rand(1,12)."-".rand(1,30)."')";
    Code
    0.10709095001221
    0.14044904708862
    0.14642310142517
    0.13625597953796

    Ok, ich muss eingestehen, dass meine empfehlung zu PHP und INT quark war.

    Auf der seite SIND beispiele.


    foo.php

    PHP
    if (!isset($_POST['searchkey'])) exit();
    // Ergebnisse aus der Datenbank auslesen
    $json=new JSONArray();
    $result=new JSONObject();
    $result->add("name", $db['name']);
    $result->add("description", $db['beschreibung']);
    $result->add("link", "product.php?id=".$db['id']);
    $json->add($result);
    $json->render();


    DAS ist ein eindeutiges Ergebnis...

    Die Tabelle vom TS IST aber KEIN DATE! Sonst würde ich das ja nicht diskutieren.

    Zitat von Unregistriert


    Tobse wird bestimmt in jeder Row das gleiche Datum haben, dann geht das auch zügig. ;)

    Jetzt wirts aber peinlich. Du hast verloren, zumindest was INTs angeht, sies ein. Du kannst von mier aus auch den DUMP haben unds selbst ausprobieren. Das Niveau sinkt durch deinen Post wieder in unersehliche Tiefe.

    BackToTopic:
    Wir haben gesehen - bei INTs ist PHP schneller, bei DATEs hat PHP absolut keine chance auch nur ansatzweise mitzuhalten. Die Tabelle vom Gast ist INT. Bei INTs braucht PHP rund 0.18 Sekunden. Bei DATEs brauch MySQL rund 0.7 Sekunden.
    Dem TS rate ich daher zu INTs und PHP, er kann alelrdings auch seine Tabelle in DATE umwandeln und MySQL benutzen - völlig egal.

    EDIT: Ahja, der unregistrierte kann mir ja keine PM schreiben, der DUMP im anhang.
    timetable.zip

    Immernoch schneller.


    Für mich ist das eindeutig. Bei 500.000 Datensätzen wäre der Unterschied noch deutlicher.

    Kommt darauf an. Wenn dein WhiteLabel nicht mit der Datenbank der Partnerseite Kommunizieren muss, reicht das mit AJAX, ja. Wenn aber doch, musst du die Partnerseite kontaktieren. BZW wenn du welbst die Partnerseite bist in dem Fall eine API bereitstellen.

    So, mein lieber Tobse! Habe gerade etwas Zeit gehabt und mal getestet:

    Select distinct month(datum) as monate from tabelle

    Da braucht phpMyAdmin bei einer Tabelle mit 500.000 Datensätzen gerade mal 0.25 Sekunden. Mach das mal mit deiner Methode.

    Du vergisst, dass PHPMyAdmin aufgrund von darstellungsplätzen ein LIMIT 0, 30 (oder eben bezüglich der Seite) benitzt, weshalb MySQL 0,25 Sekunden für 30 Datensätze gebraucht hat.

    EDIT:
    Tabelle "timetable":

    Code
    id, INT (5) | time, INT(11)
    ------------+---------------
    1           | 1314359916
    u.s.w. bis 35.158


    Ausgabe:

    Code
    0.116676
    0.094987

    Sicher.

    Code
    blublab
    #ausdruck#eine gaaaaanz laaange Zeilööö... sasjödkgjaweg
    poinpong boing
    PHP
    $code=file_get_contents(^^);
    $pos=strpos($code, "#ausdruck#");
    // strlen("#ausdruck#")=10
    $pos2=strpos($code, "\n", $pos+10);
    echo substr($code, $pos+10, $pos2);

    Es wäre einfacher, wenn man in der Tabellenspalte Datum auch ein Datum speichert, also vom Type date. Dafür gibt's das nämlich


    So ist es aber nicht. Wenn er die MySQL DATE funktion verwendet, muss MySQL für JEDEN Datensatz, also ganz egal, ob er hinterher im resultat ersccheint, die Funktion ausführen. Wenn PHP die Funktion allerdings nur auf die relevaten anwendet, ist das natürlich performanter.

    Naja, viel kenn ich mich mit WhiteLabels nicht aus., aber das Beispiel sieht arg nach Webseiten aus, daher dachte ich an PHP, Perl, ASP.NET oder was sonst eben die Partnerwebseite benutzt. Wenn es hier allerdungs um eine Anwendung geht (also Java), dann kommt das zu 100% auf die Anwendung an und wir können dir garnichts helfen.
    Mit der API meinte ich, dass wen du WhiteLabels bei dir einbinden willlst, musst du selbst eienn Weng finden, die WhiteLabels mit deiner Anwendung kommunizieren zu lassen. Wenn du eines für eine andere Webseite/Anwendung schreiben willst, kann dir dein "Partner" am eheseten sagen, wie du vorgehen musst.

    Wenn seine Freunde auch alle den Arm gebrochen haben dann ist das mit sicherheit ne Mutprobe. Auf so nen scheiss (oder ncoh viel übleres) kommt man halt in dem Alter^^

    Also, Möglichkeit eins.
    Dein Sohn will nicht in die Schule und hat den Besagten Thread geöffnet um herauszufinden wie.

    Möglichkeit Zwei.
    Dein Sohn hat in dem Forum erfahren, dass das mit dem Arm und der Zwiebel funktioniert, um wie gesagt irgendwo nicht hinzugehen.

    Möglichkeit Drei.
    Du bist einer von den 2 Verrückten die meinen, dass das mit dem Handtuch funktioniert, und willst hier klar machen, DASS es das tut, was es aber laut diesem Post nicht tut:
    https://www.forum-hilfe.de/threads/51686-…ll=1#post390987

    Möglichkeit Vier:
    Dein Sohn wollte das mit den Zwiebeln probieren, ist beim aufstehen gestoplert und hat sich dabei den Arm gebrochen.

    Ich persönlich tendiere zu 4. etwas weniger zu 3 (aus dem glaube an gute Menschen in der Welt).

    EDIT: Upps, zu spät.

    Wenn man mit einem Auto mit 30 km/h gegen eine Wand fährt und dabei die Arme gestreckt am Lenkrad hat, sind sie beide durch. Du kannst also entweder noch was für die Reperaturen drauflegen oder noch ne runde Skateboarden gehen und am besten gleich Tony Hawks-Tricks ausprobieren, dann solltest du verlezt genug sein, morgen nich arbeiten zu müssen.
    Aber mal ehlrich. Es gibt bei uns Hart IV (ja, leider). Kündige doch lieber und such dir was besseres. Ein ganzes Jahr hast du Zeit dazu.