Php 如何增加从mysql数据库获取多条记录的执行时间

Php 如何增加从mysql数据库获取多条记录的执行时间,php,mysql,Php,Mysql,虽然我使用php代码从mysql表中获取了近10000条记录的所有记录,但执行速度很慢 有谁能告诉我如何以最短的执行时间获取记录吗?我们需要查看数据库结构和您的查询才能给出更好的答案 但是,下面将为您的脚本提供更多的时间来运行查询 你可以用两种方法来做 在php文件的开头添加代码set\u time\u limit(以秒为单位的数字) 您可以将php.ini文件max\u execution\u time=3000编辑为更高的值 选项1将仅增加该脚本的执行时间。 选项2将增加所有脚本的执行时间。

虽然我使用php代码从mysql表中获取了近10000条记录的所有记录,但执行速度很慢


有谁能告诉我如何以最短的执行时间获取记录吗?我们需要查看数据库结构和您的查询才能给出更好的答案

但是,下面将为您的脚本提供更多的时间来运行查询

你可以用两种方法来做

  • 在php文件的开头添加代码
    set\u time\u limit(以秒为单位的数字)
  • 您可以将php.ini文件
    max\u execution\u time=3000
    编辑为更高的值
  • 选项1将仅增加该脚本的执行时间。
    选项2将增加所有脚本的执行时间。

    我们需要查看数据库结构和您的查询,以给出更好的答案

    但是,下面将为您的脚本提供更多的时间来运行查询

    你可以用两种方法来做

  • 在php文件的开头添加代码
    set\u time\u limit(以秒为单位的数字)
  • 您可以将php.ini文件
    max\u execution\u time=3000
    编辑为更高的值
  • 选项1将仅增加该脚本的执行时间。 选项2将增加所有脚本的执行时间。

    尝试添加索引。 但是如果你想要所有的记录,这一批,这需要时间是正常的

    尝试增加允许的内存

    <?php ini_set('memory_limit','512M'); ?>
    
    
    
    有关执行时间,请参阅:

    尝试添加索引。 但是如果你想要所有的记录,这一批,这需要时间是正常的

    尝试增加允许的内存

    <?php ini_set('memory_limit','512M'); ?>
    
    
    
    有关执行时间,请参阅:


    1用于特殊脚本

    set_time_limit(number in seconds);
    
    整个php中的php.ini中的2(适用于所有脚本)

    3如果无法访问php.ini(如在共享服务器上),请将其写入.htaccess文件

    <IfModule mod_php5.c>
    
    
    
    php_值最大执行时间259200
    1用于特殊脚本

    set_time_limit(number in seconds);
    
    整个php中的php.ini中的2(适用于所有脚本)

    3如果无法访问php.ini(如在共享服务器上),请将其写入.htaccess文件

    <IfModule mod_php5.c>
    
    
    
    php_值最大执行时间259200

    您应该做的第一件事是分析您查询的
    并查看速度如此低的原因

    1) 如果您的选择不使用索引-您肯定应该创建索引(如果它不存在)或强制您的查询手动使用该索引(
    强制索引(主)
    等)

    2) 如果查询创建的临时表(
    在解释输出中使用temporary
    ),则需要为MySQL服务器增加分配的内存,以便它可以在内存中创建临时表,而不将其写入HDD(这需要大量时间)。对于此优化,请检查mysql配置中的
    tmp_table_size
    max_heap_table_size

    3) 只有在您没有上述问题的情况下,并且您的脚本中有一些处理数据的复杂逻辑,您才能
    直接从php代码中设置时间限制(0)
    (意思是无限),或者编辑php.ini并将
    max\u executeion\u time
    设置为更高的值。或者,您也可以安装操作缓存或其他操作码缓存系统,这些系统可以稍微提高代码的速度(通常为2-10倍)


    (问题可能不仅在于服务器,还在于连接速度和应下载的数据量——可能select速度快,但数据加载时间长,因此请使用Firebug检查响应大小,并与您的带宽进行比较)

    您应该做的第一件事是分析您查询的
    并查看速度如此低的原因

    1) 如果您的选择不使用索引-您肯定应该创建索引(如果它不存在)或强制您的查询手动使用该索引(
    强制索引(主)
    等)

    2) 如果查询创建的临时表(
    在解释输出中使用temporary
    ),则需要为MySQL服务器增加分配的内存,以便它可以在内存中创建临时表,而不将其写入HDD(这需要大量时间)。对于此优化,请检查mysql配置中的
    tmp_table_size
    max_heap_table_size

    3) 只有在您没有上述问题的情况下,并且您的脚本中有一些处理数据的复杂逻辑,您才能
    直接从php代码中设置时间限制(0)
    (意思是无限),或者编辑php.ini并将
    max\u executeion\u time
    设置为更高的值。或者,您也可以安装操作缓存或其他操作码缓存系统,这些系统可以稍微提高代码的速度(通常为2-10倍)


    (问题可能不仅在于服务器,还在于连接速度和应下载的数据量——可能select速度快,但数据加载时间长,因此请使用Firebug检查响应大小,并与您的带宽进行比较)

    我们对您的数据库结构或查询一无所知?我们对您的数据库结构或查询一无所知?如果速度较慢,请先尝试优化数据库查询或数据库。允许等待更长的时间并不是您真正应该选择的……如果等待速度慢,请先尝试优化数据库查询,或者优化数据库。允许等待更长的时间并不是你真正应该选择的…内存限制在这里不受影响,它是执行时间。内存限制在这里不受影响,它是执行时间。