Maison > Questions et réponses > le corps du texte
1. Une seule donnée, c'est-à-dire qu'il n'y a qu'une seule ligne de données, et l'article de terrain dans cette ligne de données contient 400 000 mots, séparés par des virgules (,)
2. Il y a 400 000 données, soit 400 000 lignes. Il y a un mot dans l'article de champ de chaque ligne
.Si la solution 1 est rapide, comment pouvons-nous les extraire séparément dans une boucle, puis les combiner (séparés par des virgules) et les combiner en 400 000 boucles ?<a href="分割后的单独一个单词">分割后的单独一个单词</a>
PHP中文网2017-05-18 10:46:34
Je pense que l'option 2 devrait être plus rapide.
Obtenez d'abord 1000 éléments de données :
SELECT `article` FROM `table` ORDER BY id DESC LIMIT 0,1000
Traitez 1000 données une par une :
foreach ($list as $key => $value) {
$link = '<a href="'.$value['article'].'">'.$value['article'].'</a>';
....
}
Traitez les 1000 prochains éléments
PHP中文网2017-05-18 10:46:34
En termes de requête uniquement, la première est nettement plus rapide, mais un champ stocke 400 000 mots (un mot compte pour 7 lettres - virgules comprises), soit près de 3 millions de lettres et environ 3 millions de données. Cependant, après l’avoir interrogé, il semble peu fiable de couper un champ aussi long.
淡淡烟草味2017-05-18 10:46:34
S'il s'agit simplement de lister 400 000 mots sur une page, je pense que la première méthode est plus rapide
Raisons :
1. Requête
Méthode 1. Scannez une ligne pour obtenir l'enregistrement. La méthode 2 nécessite de scanner plusieurs lignes, et le temps passé est évident (plus le tableau est grand, plus il est évident).
Cette méthode de processus 1 est bien supérieure à la méthode 2
2. Sortie
La méthode 1 doit être divisée indépendamment, ce qui n'est pas du tout un problème pour PHP. Ensuite, les deux doivent mettre en cache la sortie.
En général, la méthode 1 entraîne moins de frais généraux que la méthode 2.