Quelle méthode est la plus rapide pour que PHP extraie des données de MySQL ?
巴扎黑
巴扎黑 2017-05-18 10:44:34
0
3
605

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>

巴扎黑
巴扎黑

répondre à tous(3)
洪涛

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

洪涛

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.

淡淡烟草味

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal