Meinst du mit Blog-Software die Software an sich oder eine Webseite die mit irgendeiner art Software betrieben wird?
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ätzenCodeid, INT(6) | time, INT(11) -----------+--------------- 1 | 1313756907 -----------+--------------- 2 | 1313789164 -----------+--------------- usw.
erstellt mitPHP
Alles anzeigen<?php $db=new mysqli(...); set_time_limit(0); $time=microtime(true); $sql="SELECT DISTINCT time FROM timetable"; if ($erg=$db->query($sql)) { while ($res=$erg->fetch_array()) { $foo=date("m-Y", $res['time']); } } else { echo $db->error; break; } $time=microtime(true)-$time; echo $time; $erg->close(); $db->close(); ?>
Und nochmals auf 100.000 DATE datensätze erstellt mitPHP$sql="INSERT INTO timetable (time) VALUES ('".rand(1000,2100)."-".rand(1,12)."-".rand(1,30)."')";
PHP
Alles anzeigen<?php $db=new mysqli(...); set_time_limit(0); $time=microtime(true); $sql="SELECT DISTINCT MONTH(time) FROM timetable"; if (!$db->query($sql)) { echo $db->error; exit(); } $time=microtime(true)-$time; echo $time; $db->close(); ?>
Ok, ich muss eingestehen, dass meine empfehlung zu PHP und INT quark war.
-
Du kannst mal nach AJAX Tutorial googlen. Das da oben sind 2 Dateien, wie du sie zusammenfügst solltest du selbst herausfinden können.
-
Auf der seite SIND beispiele.
Code
Alles anzeigenjQuery.ajax({ url: "ajax/foo.php", type: "post", dataType: "json", data: { searchkey: "foobar" }, error: function() { alert("Verbindungsfehler!"); }, success: function(data) { document.write(data[0].name); } });
foo.phpPHPif (!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();
-
-
Zitat
Und WELCHE ROLLE soll das SPIELEN? Ein Script zum Umschreiben der Daten ist in 5 Minuten erstellt.
Er solls sich aussuchen. -
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.
PHP
Alles anzeigen<?php $db=new mysqli(...); set_time_limit(0); $sql="SELECT DISTINCT MONTH(time) FROM timetable"; $time=microtime(true); if (!$db->query($sql)) { echo $db->error; exit(); } $time=microtime(true)-$time; echo $time."<br>"; $sql="SELECT DISTINCT time FROM timetable"; $time=microtime(true); if ($erg=$db->query($sql)) { while ($res=$erg->fetch_array()) { $foo=date("m-Y", $res['time']); } } $time=microtime(true)-$time; $erg->close(); echo $time; $db->close(); ?>
Code
Alles anzeigen0.18918585777283 0.17720413208008 0.21651482582092 0.17818307876587 0.22041511535645 0.17874884605408 0.18550992012024 0.18051195144653 0.25362706184387 0.18164610862732
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":PHP
Alles anzeigen<?php $db=new mysqli(...); set_time_limit(0); $sql="SELECT DISTINCT MONTH(time) FROM timetable"; $time=microtime(); if (!$db->query($sql)) { echo $db->error; exit(); } $time=microtime()-$time; echo $time."<br>"; $sql="SELECT DISTINCT time FROM timetable"; $time=microtime(); if ($erg=$db->query($sql)) { while ($res=$erg->fetch_array()) { $foo=date("m-Y", $res['time']); } } $time=microtime()-$time; $erg->close(); echo $time; $db->close(); ?>
Ausgabe: -
-
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. -
Falscher anstazt. Ich weiss zwar nicht genau ob es sowas wie die date-funtkion auch in MySQL gibt, ich denke aber schon.
Lass doch einfach nach datum (bzw. deinem Timestamp) vorsortierne und pick dir den Monat per PHP raus - ist sogar performanter. -
Beispielcode wirds nicht geben. Aber wie wärs mal damit:
- Eigen API anbieten
- Ein Interface für funktionen, die dann auf dem Partnerwebspace ausgeführt werden anbieten.
- Zur not ein iframe?EDIT: Ah, schau mal: klick.
-
du hast dein alter nicht erwähnt.
Im ThraedtitelDass deine Mutter das alleinige Sorgerecht hat, hat sicher einen Grund. Aber wenn du kein Problem mit deim Vater hast, frag den doch mal, ob er nicht doch beim Jugendamt was erreichen kann.
-
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#post390987Mö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. -
Ich weiss nich genau wie Apache das mit den Threads kontrolliert. Du könntest aber probieren eine kleine zahl in die Config reinzuschreiben, dann den ersten Apache zu starten, dann die Zahl zu erhöhen und dann den zweiten. Ich bezweifle aber dass es klappt.