首页 开发编程 正文

php查询很慢怎么办

与Mysql数据库优化应该是很松耦合的。下面简单谈谈MySql数据库的几个优化点:再比如需要select最近一个月的数据,再比如使用join做表连接的时候。...

php查询很慢怎么办,如何使用phpMyadmin优化MySQL数据库?

phpMyadmin仅仅是一个数据库管理工具,与Mysql数据库优化应该是很松耦合的。下面简单谈谈MySql数据库的几个优化点:

1、优化SQL语句

比如尽量少用"select * from ...",需要什么字段返回什么字段,可以有效节省网络IO,缩短查询时间,还可以增加Mysql服务器的吞吐量。

再比如需要select最近一个月的数据,数据量比较大;拆成10次请求,每次请求select三天的,效果可能会好很多。

再比如使用join做表连接的时候,尽量用小表驱动大表,简单来说就是left join,左表是驱动表;right join 右表是驱动表;inner join mysql会自动做优化

学会使用EXPLAIN关键字辅助优化

优化SQL语句是数据库优化的首选;

2、优化表结构

比如字段类型,可以用数字的字段,尽量不要用Text,比如订单Id一般都是数据。

小字段能满足要求的,尽量不要用大字段

根据业务场景,在合适的字段上添加索引,提高搜索速度

适当的做字段冗余和缩减

3、表的拆分

数据库表一般分为纵向拆分和横向拆分,纵向拆分就是将一个表按照列拆分成多个表,通过外键连接。横向拆分就是按照某个字段(比如:时间)做拆分。

数据库拆分

对于数据量太大,或者QPS很大的场景,就需要分库处理。比如设置主库和从库,主库用于写数据,从库用于读数据

以上优化手段,部分可以借助phpMyadmin实现。

更详细的优化手段欢迎点击我的头像,关注我,查看我之前写的Mysql系列文章。

大家觉得这个回答怎么样呢??

短期如何学会PHP?

我是学了两星期PHP,然后就能自己写基本的功能了,我不知道算不算楼主说的短期学会,如果觉得算,请继续往下看。

下面来谈谈我是具体怎么做的。

网上找一套适合的教程坚持看

“只找对的,不找贵的”。在这个知识泛滥的年代,找一套适合的教程有时并不那么容易,那么什么才是适合的呢?我觉得至少要符合以下几个特点:

要跟得上时代,不能是那种还在讲很老版本的教程,最起码要是现在普遍使用的。不要找内容过多的教程,比如兄弟连的《细说PHP》 ,不可否认东西讲的很全很细,但是对于新手来说不适合,很容易坚持不下去。不要找过深入的教程,不要想着能一口吃个胖子,基础很重要!

一般根据以上几个特点应该不难选出一套适合的教程,我当初就是先看的w3school(菜鸟教程也不错),在看的过程中如果遇到看不太懂的,记得一定要自己去查资料,了解它真正的解释和用法,这点儿是我觉得很重要的一方面。

当教程看完之后,就要去找一些实际功能实现教程,比如做个留言板,做个访客统计,做个学生统计系统等等,这些很好的在网上找到教程,这些教程对于知识的利用是非常好的!

这个过程下来,基本就可以正常写功能写页面了,写的过程中遇到问题不要怕,只有实际做起来才知道自己哪方面不足,知道了不足就要去弥补,先自己查资料,自己去搜索,做互联网不要说不会搜索。

总结一下:找个适合的教程看下去,基础打牢了,找实演项目练手,后面就直接上手!遇到问题不要怕,查询搜索上,不畏难,熬过去就好了!最后,想要进阶就要多看,看别人的分享,别人的代码,别人的思想!

服务器linux环境运行php?

以centos7为例,模式为lnmp。(使用root用户登录)

更新阿里云yum源

1、进入源目录

# cd /etc/

yum.repos.d/

2、备份原repo文件

# for name in `ls`; do mv $name ${name}.bak ; done

3、下载阿里云yum源

# curl

http://mirrors.aliyun.com/repo/Centos-7.repo > Centos-7.repo

4、清理并生成缓存并安装epel

nginx安装

1、安装pcre,可以支持rewrite功能。

# yum install pcre*

2、安装openssl,可以支持ssl功能

# yum install openssl*

3、从官网下载稳定版,此时是1.16.1,然后解压(如果没有wget ,请执行yum install wget)

# cd /usr/local/src

# wget http://nginx.org/download/nginx-1.16.1.tar.gz

# tar -zxvf nginx-

1.16.1.tar.gz

# cd nginx-1.16.1

4、安装软件三板斧(./configure , make , make install)。

# ./configure --prefix=/usr/local/nginx-1.16.1 --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre

# make

# make install

5、centos7防火墙打开http, https

# firewall-cmd --zone=public --add-service=http --permanent

# firewall-cmd --zone=public --add-service=https --permanent

# firewall-cmd --reload

6、启动nginx

# /usr/local/nginx-1.16.1/sbin/nginx

当通过你系统的IP地址访问出现如下画面,则安装成功

关闭nginx:

# /usr/local/nginx-1.16.1/sbin/nginx -s stop

当改变了nginx.conf后,要重置:

# /usr/local/nginx-1.16.1/sbin/nginx -s reload

安装php和php-fpm

1、安装php7,这里选择php70w,需更新webtatic源

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# yum install php70w

2、安装php扩展,这里以xml扩展示例,你也可以使用yum list php70w*查看所有扩展。

#yum install php70w-xml

3、查看安装结果

#php -v (查看版本)

#php -m (查看扩展)

4、安装php-fpm,(这个与nginx一起使用来解析PHP脚本的)

#yum install php70w-fpm

5、启动php-fpm,并加入开机启动

# systemctl start php-fpm

# systemctl enable php-fpm

6、新建www用户

# useradd www -s /sbin/nologin

7、修改nginx.conf,加入php解析

第2行

第45行

第65-71行改成如下图所示:

8、将html目录所有者改为www,并将权限改为755

# chown -Rf www:www /usr/local/nginx-1.16.1/html

# chmod -Rf 755 /usr/local/nginx-1.16.1/html

9、重启nginx看到如下结果,即配置成功

# /usr/local/nginx-1.16.1/sbin/nginx -s reload

如何在网页中实现简单数据库的查询?

1.首先,通过HTTP请求从数据库服务器获取数据。2.使用相关的服务器端脚本语言(如PHP)根据所提供的查询参数来筛选数据库数据集合,如过滤、排序等。3.将处理后的数据(如JSON或XML等)返回给客户端。4.使用JavaScript,根据处理后的数据,通过DOM操作以及相关技术来实现查询的显示。

FPM运行状态的实时查看及监控详解?

简单处理的话,大概可以从三个方面来优化:

一、代码缓存:使用 Zend Opache、apcu 来缓存代码和对象。各参数在 /etc/php5/fpm/conf.d 下面可调。

二、页面缓存:使用 nginx 自带的 fastcgi cache 缓存页面。三、调整 php-fpm 的参数。如 php.ini、php-fpm.ini pool.d/ 目录下各参数的优化。你的内存有64G 的话,可以调高 fpm 子进程的数量,并设为静态。具体参数得测试了。还有其他各种监控、分析方法,这儿就不详叙述了。

本文转载自互联网,如有侵权,联系删除