搜索

首页  >  问答  >  正文

php对mysql提取数据那种速度更快

1、单条数据,即只有一行数据,然后这行数据里面的字段article里面有40万个单词,以逗号(,)分割

2、有40万条数据,即40万行,每行的字段article中有一个单词

如果方案1的速度快,要怎么分别循环提取出来,然后进行组合(以逗号分割),循环组合成40万条,<a href="分割后的单独一个单词">分割后的单独一个单词</a>

巴扎黑巴扎黑2795 天前625

全部回复(3)我来回复

  • PHP中文网

    PHP中文网2017-05-18 10:46:34

    我认为应该是方案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条

    回复
    0
  • PHP中文网

    PHP中文网2017-05-18 10:46:34

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

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-18 10:46:34

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

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

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

    回复
    0
  • 取消回复