我正在寻找一些想法。我正在编写这个有应用参考表的PHP应用程序。此参考表中的数据非常静态。我用它来填充动态表单的选择列表,也可以在其他地方引用它。
该表基本上是:
key = stored in other tables
description = a long description of the key
我的应用程序将会引用此表。该表有大约600行。
我正在寻找有关如何最好地访问此信息的建议。一页可以引用它 20次。
我正在寻找最快,最有效的意见。
我倾向于在页面开头创建一个准备好的语句,然后每次都传递新的params并让mysql处理缓存。
存储过程是否会更快,或将表加载到会话数组
感谢任何想法,建议。
由于
答案 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.),从而减少数据库调用。