我有一个简单的问题,但我无法在互联网上找到答案。 我有一个名为result的SQL表,只有2个字段:名称和内容。 由于每个名称都是唯一的,我将主键放在字段名称上。
我想在Php中做的是指定一个名称并获取其内容:
$req = $bdd->prepare('SELECT contents FROM result WHERE name = :name');
$req->execute(array('name' => $inputName));
$donnees = $req->fetch();
$result=$donnees['contents'];
echo $result;
当然这个代码可行,但我想知道的是我必须在我的PHP代码上指定名称是主键还是已经知道它,因此我的查询的执行速度达到了最大值。 / p>
谢谢。
答案 0 :(得分:0)
处理数据库的主键(或任何键)不是php的工作。 您的执行速度将是最大值,因为主键意味着将创建此列的索引。
答案 1 :(得分:0)
不要过早优化。
首先,您需要一个真实世界的用例,然后您需要对其进行分析/基准测试以找到瓶颈,然后然后考虑优化内容和方法。
可以使用EXPLAIN SELECT ...
进行性能分析sql查询 - 但如果名称已经编入索引,那么对于简单查询来说,这不是必需的。
如果您想将此结果表用作缓存 - 这可能不是最佳解决方案。考虑使用内存键值存储,如memcache。