哪个更适合存储类别的元描述,php var或mysql db

时间:2014-12-06 18:34:51

标签: php mysql performance

我正在图片网站上工作,图片属于特定类别,

目前有70多种类别/名称(即书籍,树木,人物,手表,汽车,手机等),近期将近80-90个类别,每个类别都有元描述,元关键字,特定于该类别的标题。

我的问题是我应该在哪里存储这些数据?

  1. 在php中使用3-4种类型的数组,然后使用数组查找 查找并显示特定于该目录的元数据?
  2. e.g。

    $meta_description = array('books' => 'books meta description', 'trees' => 'trees meta description')
    

    然后做

    if(isset($meta_description[$_GET['category']])){
    echo $meta_description[$_GET['category']]);
    }
    

    1. 在MySQL db表中再对每个页面加载进行mysql查询 从db?
    2. 获取元描述,标题数据

      e.g。

      +------------+--------------+------+-----+---------+----------------+
      | Field      | Type         | Null | Key | Default | Extra          |
      +------------+--------------+------+-----+---------+----------------+
      | cat_name   | varchar(50)  | NO   | MUL |         |                |
      | title      | varchar(100) | NO   |     | NULL    |                |
      | metakw     | varchar(100) | NO   |     | NULL    |                |
      | metadesc   | varchar(100) | NO   |     | NULL    |                |
      | record_num | tinyint(2)   | NO   | PRI | NULL    | auto_increment |
      +------------+--------------+------+-----+---------+----------------+
      

      然后在每个页面加载时使用mysql查询获取信息。

      我正在寻找高性能,因为主表中有超过200万条记录,并且每秒都会发出大量的mysql查询,因此我倾向于降低mysql负担。

1 个答案:

答案 0 :(得分:1)

良好的做法是保持尽可能多的缓存,因此没有。 1是更好的选择(只要类别不必由用户配置)。但是,如果您需要使其可配置,那么您应该保留在数据库中并使用memcached http://www.memcached.org/

对其进行缓存。