-1

我有一个简单的问题,但我在互联网上找不到答案。我有一个名为 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 代码上指定名称是主键,或者它已经知道它,因此我的查询的执行速度是最大的。

谢谢你。

4

2 回答 2

0

处理数据库的主键(或任何键)不是 php 的工作。您的执行速度将达到最大值,因为主键意味着将为该列创建索引。

于 2012-11-23T15:06:27.130 回答
0

不要过早优化。

首先,您需要一个真实世界的用例,然后您需要对其进行分析/基准测试以找到瓶颈,然后考虑优化什么以及如何优化。

分析 sql 查询可以使用EXPLAIN SELECT ...- 但如果 name 已被索引,则对于您的简单查询将不是必需的。

如果您想将此结果表用作缓存 - 这可能不是最佳解决方案。考虑使用内存中的键值存储,如 memcache。

于 2012-11-23T15:12:30.103 回答