php,mysql访问静态引用表的最佳方法

时间:2013-01-24 00:49:30

标签: php mysql

我正在寻找一些想法。我正在编写这个有应用参考表的PHP应用程序。此参考表中的数据非常静态。我用它来填充动态表单的选择列表,也可以在其他地方引用它。

该表基本上是:

key = stored in other tables
description = a long description of the key

我的应用程序将会引用此表。该表有大约600行。

我正在寻找有关如何最好地访问此信息的建议。一页可以引用它 20次。

我正在寻找最快,最有效的意见。

我倾向于在页面开头创建一个准备好的语句,然后每次都传递新的params并让mysql处理缓存。

存储过程是否会更快,或将表加载到会话数组

感谢任何想法,建议。

由于

2 个答案:

答案 0 :(得分:0)

如果你真的在寻找速度,说实话,你必须要有大量的流量才能成为一个问题,我建议创建程序来制作你可以调用的表而不添加WHERE参数(如果您的页面上有5个不同的select语句,那么您将拥有5个不同的表)。由于您的数据大部分是静态的,因此您只需经常通过事件运行create table过程。

答案 1 :(得分:0)

正如已经提到的,如果你只是打电话就可以逃脱,那么你就可以做到。

如果性能是一个问题,或者你感觉更好,使它更快,听起来这个表是一个很好的缓存候选者,因为它使用键值对很少更改。

查看apc或memcache。一个例子(使用apc)将是:

function getDescription($key){
    $result = apc_fetch($key);//Possibly prefix with method unique prefix.
    if($result === false) {
        //No result stored
        $result = getDescriptionFromDatabase($key);
        apc_store($key, $result);//Can also add a ttl if needed
    }
    return $result;
}

这只会从数据库中获取一次结果(直到server / php reset e.t.c.),从而减少数据库调用。