Welche Methode ist für PHP schneller, um Daten aus MySQL zu extrahieren?
巴扎黑
巴扎黑 2017-05-18 10:44:34
0
3
589

1. Ein einzelnes Datenelement, das heißt, es gibt nur eine Datenzeile, und der Feldartikel in dieser Datenzeile enthält 400.000 Wörter, getrennt durch Kommas (,)

2. Es gibt 400.000 Daten, also 400.000 Zeilen. Der Feldartikel jeder Zeile enthält ein Wort

Wenn Lösung 1 schnell ist, wie können wir sie dann separat in einer Schleife extrahieren, sie dann kombinieren (durch Kommas getrennt) und zu 400.000 Schleifen kombinieren?

<a href="分割后的单独一个单词">分割后的单独一个单词</a>

巴扎黑
巴扎黑

Antworte allen(3)
洪涛

我认为应该是方案2的速度快。

先取1000条数据:

SELECT `article` FROM `table` ORDER BY id DESC LIMIT 0,1000

对1000条数据逐个处理:

foreach ($list as $key => $value) {    
    $link = '<a href="'.$value['article'].'">'.$value['article'].'</a>';
     ....
}

再处理下面1000条

洪涛

光查询的话,前者肯定要快,但是一个字段存40W个单词(一个单词按7个字母算--含逗号),就是将近300W个字母,大概有3M的数据。但是查询出来,对这么长的字段进行切割,感觉不太靠谱。

淡淡烟草味

如果是简单的在页面上列出40w个单词这种业务,我觉得还是第一种方法快

理由:
一、查询
方法1.扫描一行就能获取到记录,方法2那就需要扫描很多行了,花费的时间就不言而喻了(表越大越明显)。
这个过程方法1比方法2优越太多了
二、输出
方法1需要独立分割,这对php来说根本不叫事。然后都需要缓存输出。

总的来说,方法1的开销比方法2的开销少。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage