PHP 函数,文件,sql 语句优化方法

.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个url文件时候的php教程版本问题;

<?php
echo file_get_contents("test.txt");
?>

file_get_contents() 函数把整个文件读入一个字符串中。

和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。

file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。

语法
file_get_contents(path,include_path,context,start,max_length)参数 描述
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。

context 是一套可以修改流的行为的选项。若使用 null,则忽略。
 
start 可选。规定在文件中开始读取的位置。该参数是 php 5.1 新加的。
max_length 可选。规定读取的字节数。该参数是 php 5.1 新加的。

说明

2.尽量的少进行文件操作,虽然php的文件操作效率也不低的;

3.优化select sql语句,在可能的情况下尽量少的进行insert、update操作(在update上,我被恶批过);

加入可以用lock table与unlock来实例批量插入

4.尽可能的使用php内部函数(但是我却为了找个php里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);
内部函数如,time,date,fopen,rsort等

5.循环内部不要声明变量,尤其是大变量:对象(这好像不只是php里面要注意的问题吧?);

如果for($i=1;$i<=10;$i++){ $a=1;...}

6.多维数组尽量不要循环嵌套赋值;

7.在可以用php内部字符串操作函数的情况下,不要用正则表达式;

8.foreach效率更高,尽量用foreach代替while和for循环;

9.用单引号替代双引号引用字符串;

10.“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”;

11.对global变量,应该用完就unset()掉;

 

时间: 2025-01-21 15:14:57

PHP 函数,文件,sql 语句优化方法的相关文章

SQL 语句优化方法30例_Mysql

1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. 例如: SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BS

SQL语句优化方法30例(推荐)

1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. 例如: SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BS

三十种SQL语句优化方法(1/4)

1. /*+all_rows*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: select /*+all+_rows*/ emp_no,emp_nam,dat_in from bsempms where emp_no='scott'; 2. /*+first_rows*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. 例如: select /*+first_rows*/ emp_no,emp_nam,dat_in from bs

SQL语句优化

前一段时间一直在优化系统,看了一些关于SQL语句优化的东西,在这里分享一下. 1.统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. select*from dual select*From dual 其实就是大小写不同,查询分析器就认为是两句不同的SQL语句,必须进行两次解析.生成2个执行计划.所以作为程序员,应该保证相同的查询语句在任何地方都一致,多一个空格都不行! 2.使用"临时表"暂存中间结果 简化SQL语句的重要方法就是采用临时表

查询mysql中执行效率低的sql语句的方法_Mysql

一些小技巧1. 如何查出效率低的语句?在MySQL下,在启动参数中设置 --log-slow-queries=[文件名],就可以在指定的日志文件中记录执行时间超过long_query_time(缺省为10秒)的SQL语句.你也可以在启动配置文件中修改long query的时间,如: 复制代码 代码如下:  # Set long query time to 8 seconds    long_query_time=8 2. 如何查询某表的索引?可使用SHOW INDEX语句,如: 复制代码 代码如

sql语句优化之SQL Server(详细整理)_MsSql

MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,

基于索引的SQL语句优化之降龙十八掌

  From:www.oracle.com.cn 基于索引的SQL语句优化之降龙十八掌 1        前言        2 2        总纲        2 3        降龙十八掌        3第一掌避免对列的操作        3第二掌避免不必要的类型转换        4第三掌增加查询的范围限制        4第四掌尽量去掉"IN"."OR"        4第五掌尽量去掉 "<>"        5第六

秋色园QBlog技术原理解析:性能优化篇:打印页面SQL,全局的SQL语句优化(十三)

文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 3: 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三) --介绍如何实现无后缀URL 4: 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四) --介绍URL如何定位到处理程序 5: 秋色园QBlog技术原理解析:Module之页面基类设计(五) --介绍创建

Laravel5.* 打印出执行的sql语句的方法

本文介绍了Laravel5.* 打印出执行的sql语句的方法,分享给大家,具体如下: 打开app\Providers\AppServiceProvider.PHP,在boot方法中添加如下内容 5.2以下版本 // 先引入DB use DB; // 或者直接使用 \DB:: DB::listen(function($sql, $bindings, $time) { dump($sql); }); 5.2及以上版本 use DB; // 或者直接使用 \DB:: // 只能接受一个参数 Query