Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多查询MySQL vs PHP_Php_Mysql - Fatal编程技术网

多查询MySQL vs PHP

多查询MySQL vs PHP,php,mysql,Php,Mysql,我正在建立一个有表格的网站:电影和剧集 每一页都有: 第一个字符的列表。。。“电影名称以什么开头?” (管理员定义下载次数最多(计算下载次数) (管理员定义)最新更新的数量 如果用户在搜索结果中搜索了某个内容,或者 选择了以其开头的名称的第一个字符列表。。。 所以我想问的是: 我是否应该对每一个进行单独的查询,如: 1. "SELECT * FROM movies ORDER BY name" /* then check the first Characters */ 2. "SELECT *

我正在建立一个有表格的网站:电影和剧集

每一页都有:

  • 第一个字符的列表。。。“电影名称以什么开头?”

  • (管理员定义下载次数最多(计算下载次数)

  • (管理员定义)最新更新的数量

  • 如果用户在搜索结果中搜索了某个内容,或者

  • 选择了以其开头的名称的第一个字符列表。。。 所以我想问的是: 我是否应该对每一个进行单独的查询,如:

    1. "SELECT * FROM movies ORDER BY name" /* then check the first Characters */
    2. "SELECT * FROM movies ORDER BY downloads_count DESC LIMIT :lim", array(":lim"=>NUMBER_TO_SHOW)
    3. "SELECT * FROM movies ORDER BY last_update DESC LIMIT :lim", array(":lim"=>NUMBER_TO_SHOW)
    4. "SELECT * FROM movies ORDER BY WHERE name LIKE :char name LIMIT :start, :end", array(":char"=>$first_char."%", ":start"=>$page_starting_number, ":end"=>$page_ending_number)
    
    ,还是应该在每次检查前几个字符是否与
    foreach(){}
    匹配时都对名称进行fech和排序

    哪一个对服务器的压力较小(因为我为之编程的服务器很忙,我真的不想把它炸掉…:) (我听说过mysql缓存……它有多可靠?)


    提前感谢

    最好在查询中这样做,因为数据库系统已为此进行了优化。对于重复出现的查询,您可以使用
    Memcached

    最好在查询中这样做,因为数据库系统已经为此进行了优化。对于重复出现的查询,您可以使用
    Memcached

    谢谢您的回答。。。但是如果你知道的话,你能解释一下这种差别吗。。。对于现在来到这里的人来说,onDatabase使用索引进行搜索,这样它可以快速找到与给定id相关的数据,而不必像php一样遍历整个列表,因此速度要快得多。memcached将结果存储在内存中,因此您无需再查询结果(如果查询或数据库未更新),感谢您的回答。。。但是如果你知道的话,你能解释一下这种差别吗。。。对于现在来到这里的人来说,onDatabase使用索引进行搜索,这样它可以快速找到与给定id相关的数据,而不必像php一样遍历整个列表,因此速度要快得多。memcached将结果存储在内存中,因此无需再查询结果(如果查询或数据库未更新)