0

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

该表基本上是:

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

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

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

我正在寻找关于什么是最快和最有效的意见。

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

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

感谢您的任何想法,建议。

谢谢

4

2 回答 2

0

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

于 2013-01-24T01:23:10.810 回答
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;
}

这只会从数据库中获取一次结果(直到服务器/php 重置等),从而减少数据库调用。

于 2013-01-24T02:01:04.033 回答