从品牌网站建设到网络营销策划,从策略到执行的一站式服务
从sql本身来看,基本上没有优化的余地了,如果数据量过大造成的缓慢,
创新互联是一家专业提供溆浦企业网站建设,专注与成都网站设计、网站建设、HTML5建站、小程序制作等业务。10年已为溆浦众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
可以考虑使用sql分页语句:
(即分页由sql完成,并不是由PHP完成)
你要告诉我用的是什么数据库: mysql? mssql? oracle?
如果不用sql分页语句去写,只能从数据库上工夫。
1. 将几个table 的 hotelId 字段, name字段 分别建立索引。
2. 建立分表,将大数据分之。
1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;
2.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;
3.优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过);
4.尽可能的使用PHP内部函数(但是我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);
5.循环内部不要声明变量,尤其是大变量:对象(这好像不只是PHP里面要注意的问题吧?);
6.多维数组尽量不要循环嵌套赋值;
7.在可以用PHP内部字符串操作函数的情况下,不要用正则表达式;
8.foreach效率更高,尽量用foreach代替while和for循环;
9.用单引号替代双引号引用字符串;
10.“用i =1代替i=i 1。符合c/c 的习惯,效率还高”;
11.对global变量,应该用完就unset()掉
最好是把判断的语句写在SQL里面,一般从一个表或视图查询数据插入另外表的语句是:
insert into new_tab select * from old_tab;
同时加上判断条件的语句是:
insert into new_tab select * from old_tab where ....;
你的语句是正确的,速度慢两种可能:
一、是索引不对,你所有的关联字段,应该在相应表中有唯一索引,最好是主键,例如:
cdb_members.uid
cdb_memberfields .uid
supe_userfields.uid
cdb_members.groupid
cdb_usergroups.groupid
supe_userspaces.uid
supe_userspacefields.uid
如果以上的表没有主键,请设置相应字段为主键,如果有其他的主键而且是必须的,那么在上面的字段建立唯一索引。
二、数据量过大,如果你cdb_members的记录很多,远远大于500条,可以考虑改变程序,先重此表里面获取500条数据,然后在循环里面每条数据库关联获取其它表的信息,这样就不需要先对五个表做链接。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图