2012-11-23 51 views
-1

我有一个简单的问题,但我无法在互联网上找到答案。 我有一个名为结果的SQL表,只有2个字段:名称和内容。 由于每个单独的名称都是唯一的,我将主键放在字段名称上。SQL主键Php和查询速度

我想用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代码中的名称是主键或者它已经知道它,因此我的查询的执行速度最大。

谢谢。

+7

PHP既不知道也不关心数据库上的主键:这就是数据库服务器的工作 –

+0

要增加上述内容,您所做的完全没问题。你的表现应该是最佳的。 –

+0

好的,谢谢,实际上我正在测试这个本地服务器上的版本与瓦特,当我通过.txt文件加载数据的互联网网页加载速度比当我使用我的SQL数据库时,这是正常的? – user1836529

回答

0

不要做过早的优化。

首先你需要一个真实世界的用例,那么你需要配置文件/基准测试,以便找到瓶颈,然后然后想想什么和如何优化。

分析SQL查询可以使用EXPLAIN SELECT ...来完成 - 但如果名称已经编入索引,那么对于简单查询就不需要了。

如果你想使用这个结果表作为缓存 - 这可能不是最好的解决方案。考虑使用像memcache这样的内存中键值存储。

0

这不是php的工作来处理数据库的主要(或任何)键。 由于主键意味着将创建此列的索引,因此您的执行速度将处于最大值。