扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你的理解不是很全面,
新丰ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
主页打开的速度叫页面加载速度:
数据库读取 + 页面读取(html) + 外部链接(js css)+ 图片。
数据库读取:要看你的表的数据库有多大,它才可以显示速度的。
主要是两个方面的:数据库多的时候,查询就慢select;还有,你一个人打开的速度和实际中许多人同时访问你的页面的速度是不一样的。
你的这个速度非常快,原因是你的表内容少,第二个,只有你一个人在访问,并且是本地的,不用下载外部链接和图片。
给你一个参考值,pp主页的加载速度是8s,网易的是10s。
百度主页一位内简单并且优化过,是0.几秒。
举个简单的例子
循环一个数组时需要计算数组的长度.
通常,我们这么写
//$arr是一个数组;
for($i=0;$icount($arr);$i++){
/******这就是一个速度较慢的循环,因为每一次循环的时候都要运行count()计算数组长度*******/
}
//正确的写法应该是
$count=count($arr);
for($i=0;$i$count;$i++){
/*****代码*******/
}
//再举个例子
echo '1'.'2';慢;
echo '1','2';快;
//还有带引号''和双引号"",单引号更快;
//数组的键位例如$arr[key]的写法就不如$arr['key']的快
/*同样的,php在链接数据库或者操作一些文件的时候;要做垃圾处理,在资源使用完毕时,要及时的关闭链接通道,清空结果集和占内存的变量;*/
/*还有很重要的一点,能在php程序里执行的任务,就不要跑到mysql里执行,好好的写你的查询语句*/
1、直接读文件相比数据库查询效率更胜一筹,而且文中还没算上连接和断开的时间。
2、一次读取的内容越大,直接读文件的优势会越明显(读文件时间都是小幅增长,这跟文件存储的连续性和簇大小等有关系),这个结果恰恰跟天缘预料的相反,说明MYSQL对更大文件读取可能又附加了某些操作(两次时间增长了近30%),如果只是单纯的赋值转换应该是差异偏小才对。
3、写文件和INSERT几乎不用测试就可以推测出,数据库效率只会更差。
4、很小的配置文件如果不需要使用到数据库特性,更加适合放到独立文件里存取,无需单独创建数据表或记录,很大的文件比如图片、音乐等采用文件存储更为方便,只把路径或缩略图等索引信息放到数据库里更合理一些。
5、PHP上如果只是读文件,file_get_contents比fopen、fclose更有效率,不包括判断存在这个函数时间会少3秒左右。
6、fetch_row和fetch_object应该是从fetch_array转换而来的,我没看过PHP的源码,单从执行上就可以说明fetch_array效率更高,这跟网上的说法似乎相反。
文件的优势:速度快 缺点:移植性差(没发现读取指定文件需要指定目录吗?万一目录变动不会又要改了。) 数据库:移植性较好(不管怎么移,只需要更改下连接参数即可。) 缺点:没有直接读取文件的速度快。
1.建立索引,尽可能把索引建立到你你经常比较的字段上,如select a,b,c,d from a where 索引字段=值,这个索引字段最好是数值型数据
2.慢有更多情况,
情况1:远程查询,其实可能查询不慢,由于数据量大,传输过程慢
情况2:WHERE 后面的比较数据太多,比如 like 类的语句
情况3:需要哪个字段只取那个字段就行了,比如select * from a与select b,c,d from a速度是有差距的
3.数据库定期维护,压缩,把不常用的数据备份后放入备份库里,查询时查备份库等
问题补充:
.第一条:建立索引,怎么建立,我也听说过,但不知道怎么使用
答:每种数据建立索引的方法有差异,比如SQL SERVER 2000中可对多个字段进行索引,比如SQL SERVER2000中有命令
CREATE INDEX
为给定表或视图创建索引。
只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
语法
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH index_option [ ,...n] ]
[ ON filegroup ]
index_option ::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
第三条:数据库定期维护,压缩:怎么个压缩法?及时备份数据到备份库查询备份库,那查询时不是还慢吗?
答:这个有压缩工具,基本上每种数据库都有自己的压缩数据库的工具
1. 找到你mysql的安装目录,打开my.ini,如果是Linux服务器,那就是my.conf;
2.然后在[mysqld]选项下面添加:
skip-name-resolve
这个选项的意思是:禁用DNS解析,连接速度会快很多。
然后保存,重启mysql服务器,希望能帮你解决问题!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流