【发布时间】:2013-05-20 20:08:23
【问题描述】:
当我添加 15 个缩略图(每个 4kb-5kb)时,我的网站往往会变慢很多,甚至在 2.5k 在线用户上崩溃,如果没有它们,它可能需要多达 4.5k-5k。
我制作了一个脚本,该脚本将在每次上传图片时从动画 gif 制作缩略图,并将该图片的路径存储在数据库中。在添加缩略图之前打开的每个页面上,我的网站都会从数据库 url、标题、id 和路径传递到 gif 图像,唯一改变的是获取 15 个标题的缩略图路径。
我的网站是http://www.smesniposteri.com/,在右边你可以看到我正在谈论的 15 个标题。以下是用户每次访问时打开带有和不带有缩略图的页面的代码。
没有:
$sql = "SELECT id, url, hits, subject FROM ".DB_PREFIX."items WHERE `id` != '".$id."' AND `type` = '".$cat."' ORDER BY `timestamp` DESC LIMIT 0, 15;
$result = $db->query($sql);
$template->assign_vars('others_row', array(
'URL' => $url."/".create_item_url($row['id'], $row['subject'], $cat),
'HITS' => number_format($row['hits'], 0, ',', '.'),
'SUBJECT' => $row['subject']
));
带有缩略图:
$sql = "SELECT id, url, hits, subject, thumb_url FROM ".DB_PREFIX."items WHERE `id` != '".$id."' AND `type` = '".$cat."' ORDER BY `timestamp` DESC LIMIT 0, 15;
$result = $db->query($sql);
$template->assign_vars('others_row', array(
'URL' => $url."/".create_item_url($row['id'], $row['subject'], $cat),
'HITS' => number_format($row['hits'], 0, ',', '.'),
'THUMBNAIL' => $row['thumb_url'],
'SUBJECT' => $row['subject']
));
【问题讨论】:
-
'THUMBNAIL' => $row['thumb_url']显然从数据库中进行了 15 次查找。尝试在原始查询中包含缩略图,而不是添加查找。 -
这是其他行的原始查询
标签: php sql performance gif pagespeed