简单的mysql性能问题

时间:2010-12-30 15:24:44

标签: mysql performance

我正在建立一个非常简单的分类网站。

有一个表单将数据放入mysql表中。 现在该如何显示这些数据?是否更好地从表中的数据构建html页面,然后将其显示给用户或者更好,每次用户想要查看数据时从mysql表中获取数据? 我希望我很清楚!

5 个答案:

答案 0 :(得分:3)

在性能方面,保留HTML页面的静态版本通常会更好。

但是,您可能有太多的动态内容会使您的磁盘空间膨胀,您应该花费额外的精力来跟踪缓存过期(这可能比动态生成内容更加昂贵)。

这是一个权衡问题,要提出任何其他建议,我们需要了解数据的性质。

  • 如果这是一个内容很少更新但经常阅读的博客,最好是缓存。

  • 如果它是一个产品搜索引擎,主要是独特的查询和更改库存,最好始终查询数据库。

请注意MySQL实现了查询缓存:它可以缓存查询的结果集,如果查询是逐字重复的,并且自上次查询以来没有更改任何基础表,那么它将从缓存中提供。

它会自动跟踪缓存过期,从而节省了将文件保留在磁盘上的需要,并且通常结合了两种方法的优点。

答案 1 :(得分:2)

如果数据不经常更改,您可以使用Php缓存技术。继续加载缓存的内容以便频繁访问。

http://www.developertutorials.com/tutorials/php/php-caching-1370/

答案 2 :(得分:1)

通过缓存机制使用两者。根据参数,页面将被重新渲染(尚未在X时间内查看或根本没有查看),否则将从缓存中显示。

如上所述,它在很大程度上取决于访问数据的数量和频率。更多信息需要更详细的回复。

答案 3 :(得分:0)

这取决于一些事情。问自己两个简单的问题:

1)内容多久更改一次?您的分类广告是静态的还是在页面上进行了大量更改。您希望该页面上有多少控件可以包含旋转广告,用户评论,评论等。

2)你会非常高流量吗?这么多,以至于您正在查看数据库的瓶颈?

如果你可以对问题#2说“是的,毫无疑问,明天”,那就去静态吧。即使这意味着通过ajax或非数据库调用(包括)添加其他内容,以使页面伪动态。

否则,如果对问题#1说“是”,请使用动态页面,以便始终拥有最新鲜的内容。如今,用户已经非常习惯于在帖子等方面获得即时满足感。我们会等待几个小时才能在一个帖子中出现评论的日子已经一去不复返了(我正在看你Slashdot)。

希望这有帮助!

答案 4 :(得分:0)

从满足要求的最简单的解决方案开始,然后从那里开始。

如果您实施缓存但不需要缓存,则浪费时间(和/或金钱)。您可以改为实现功能。此外,现在您(可能)每次添加功能时都必须处理缓存。

如果您没有实现缓存并意识到需要缓存,那么您现在处于非常有利的位置来实现智能缓存,因为现在您确切地知道需要缓存的内容。 / p>