php+mysql:为什么从mysql数据库内读取图片显示很慢?

来源:百度知道 编辑:UC知道 时间:2024/05/30 21:08:47
将图片保存到mysql数据库上,保存图片的字段类型为blob,为什么从mysql数据库内读取图片数据显示在网页上很慢?应该怎样写程序来取出才会像<img src=图片地址>这样显示快呢??
影响显示慢的原因是什么?
有代码实例,希望能给小弟参考一下。谢谢!!!!
从数据库中去图片显示的代码如下:
$result=mysql_query("select * from image",$conn);
$row=mysql_fetch_array($result);
$type=$row[type];//type为图片的类型
$data=$row[image];//image为blob类型,用来存放图片

header("Content-type:$type");

echo $data;//输出图片

每次都是取一张图片输出显示,代码就这么多,但每次显示都要5-6秒,不知道为什么,图片无论大小,显示都要5-6秒,

应该不是索引的问题,我想是存取blob类型时,要做什么设置,才能够提高取blob类型数据的速度,希望知道的能给代码说明一下。谢谢!!!!!!!

数据库的优化涉及三个方面,一是你的程序怎么写的,二是数据库结构怎么设计,三是你的数据库情况怎样(数量、差异规则)。

一般说来,如果你是数据较多,必须建立合理的索引,而且查询语句要按照索引来查询。

而从数据库里面获取图片并显示的基本方式,我想只有一种模式,只要你能显示就不存在错误。当然你可以贴出代码大家看看。

补充:
恐怕你上面的语句是简化了的,而且把关键部分简化掉了,完全相当于没有贴。你下面这个语句:
$result=mysql_query("select * from image",$conn);
里面应该有一个类似where id=$id这样的条件,然后把id字段设置为主键,速度可以提高数十倍,除非你表里面只有一条记录。