很多站长朋友们都不太清楚php读取mysql慢,今天小编就来给大家整理php读取mysql慢,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php+mysql在数据库里数据大的话查询很慢 2、 Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法 3、 php+mysql:为什么从mysql数据库内读取图片显示很慢? php+mysql在数据库里数据大的话查询很慢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
}
第三条:数据库定期维护,压缩:怎么个压缩法?及时备份数据到备份库查询备份库,那查询时不是还慢吗?
答:这个有压缩工具,基本上每种数据库都有自己的压缩数据库的工具
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法对比下面两个脚本的速度:
Windows
7
用
localhost
连接本地
MySQL,速度会很慢。
Windows
7
用
127.0.0.1
连接本地
MySQL,速度则是正常的。
my.ini里配置了
bind-address=127.0.0.1
用localhost连接本地MySQL:
速度慢
<?php
$start
=
microtime(true);
$mysqli
=
new
mysqli('127.0.0.1',
'root',
'',
'mysql');
//连接耗时仅为0.0025秒.
//$mysqli
=
new
mysqli('localhost',
'root',
'',
'mysql');
//连接耗时超过1秒,比正常慢了400倍.
echo
microtime(true)
-
$start;
分析:
1.my.ini里配置
bind-address=127.0.0.1
时,Win7及其以上版本系统PHP用localhost连接MySQL耗时超过1秒,比用127.0.0.1连接慢了400倍.
2.my.ini里配置
bind-address=::1
时,Win7及其以上版本系统PHP用localhost连接MySQL速度是正常的,但用127.0.0.1连接又不正常了.
3.去掉bind-address配置,则用localhost或127.0.0.1连接MySQL速度都是正常的.
所以:在配置了
bind-address=127.0.0.1
的情况下,应该使用
127.0.0.1
连接本地
MySQL
数据库
。
安装
WordPress、phpMyAdmin
等
PHP
程序的时候默认使用
localhost
连接本地
MySQL
数据库,这时注意把默认的
localhost
改为
127.0.0.1。
另外,Windows
2008、2012
跟
Windows
7
存在同样的问题。
php+mysql:为什么从mysql数据库内读取图片显示很慢?数据库的优化涉及三个方面,一是你的程序怎么写的,二是数据库结构怎么设计,三是你的数据库情况怎样(数量、差异规则)。
一般说来,如果你是数据较多,必须建立合理的索引,而且查询语句要按照索引来查询。
而从数据库里面获取图片并显示的基本方式,我想只有一种模式,只要你能显示就不存在错误。当然你可以贴出代码大家看看。
补充:
恐怕你上面的语句是简化了的,而且把关键部分简化掉了,完全相当于没有贴。你下面这个语句:
$result=mysql_query("select
*
from
image",$conn);
里面应该有一个类似where
id=$id这样的条件,然后把id字段设置为主键,速度可以提高数十倍,除非你表里面只有一条记录。
关于php读取mysql慢的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php读取mysql慢 php实时读取数据库的详细内容...