Bonjour !
Je me pose une question.
On va prendre un exemple simple :
Admettons qu'on a un fichier "quotes.txt" qui contient un certains nombre que citations, une par ligne.
Une ligne est de la forme "Auteur --!-- Citation..." (--!-- je l'ai pris au hasard, c'est un séparateur qu'on est sûr d'avoir qu'une fois par ligne vu qu'il ne sera dans aucune citation).
Et on a une table dans une base de donnée avec deux champs : author et quote. Cette table contient exactement les même citation que le fichier.
Quel sera le code le plus rapide est le moins gourmand en resources (les codes sont simplifié, pas de gestion des erreurs etc...)
Code 1 : lecture des quotes dans la table.
Code 2 : lecture des quotes dans le fichier.
Comme ça j'aurais tendance à dire que le second code est plus rapide (moins d'instructions), mais quand je vois qu'enregistrer presque 500ko de texte dans une base de données MySQL avec PHP ne prend même pas une demi seconde (quand j'ai transféré tout mon blog d'un coup chez OVH).
Donc voilà, c'est quoi le plus rapide et le moins gourmand ?
P.S.: j'ai écrit ce code directement sur MacG et je ne l'ai aps testé, donc il y a peut-être quelques erreurs (oublie d'un ;... ce genre de truc) mais vous comprenez l'idée quoi
Je me pose une question.
On va prendre un exemple simple :
Admettons qu'on a un fichier "quotes.txt" qui contient un certains nombre que citations, une par ligne.
Une ligne est de la forme "Auteur --!-- Citation..." (--!-- je l'ai pris au hasard, c'est un séparateur qu'on est sûr d'avoir qu'une fois par ligne vu qu'il ne sera dans aucune citation).
Et on a une table dans une base de donnée avec deux champs : author et quote. Cette table contient exactement les même citation que le fichier.
Quel sera le code le plus rapide est le moins gourmand en resources (les codes sont simplifié, pas de gestion des erreurs etc...)
Code 1 : lecture des quotes dans la table.
Bloc de code:
$sql_con = mysql_connect(HOST, USER, PASS);
mysql_select_db(DB);
$quotes = mysql_query("SELECT COUNT(*) AS `nbr` FROM `quotes`);
$quote = mysql_fetch_rows(mysql_qery("SELECT * FROM `quotes` LIMIT ".rand(0, $quotes['nbr']-1).",1;"));
mysql_close($sql_con);
echo '<strong>',$quote[0],' :</strong> <q title="',$quote[0],'">',$quote[1],'</q>';
Code 2 : lecture des quotes dans le fichier.
Bloc de code:
$quotes = file('quotes.txt');
list($author, $quote) = explode(' --!-- ', $quotes[rand(0, count($quotes)-1)]);
echo '<strong>',$author,' :</strong> <q title="',$author,'">',$quote,'</q>';
Comme ça j'aurais tendance à dire que le second code est plus rapide (moins d'instructions), mais quand je vois qu'enregistrer presque 500ko de texte dans une base de données MySQL avec PHP ne prend même pas une demi seconde (quand j'ai transféré tout mon blog d'un coup chez OVH).
Donc voilà, c'est quoi le plus rapide et le moins gourmand ?
P.S.: j'ai écrit ce code directement sur MacG et je ne l'ai aps testé, donc il y a peut-être quelques erreurs (oublie d'un ;... ce genre de truc) mais vous comprenez l'idée quoi