哪个更快?组合或多个查询?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪个更快?组合或多个查询?相关的知识,希望对你有一定的参考价值。

在使用1 million record的表格中,这些查询与性能有什么不同?

idPRIMARY

useridINDEXED

nameUNIQUE

组合查询:

$Query = 'SELECT name, (SELECT EXISTS (SELECT id FROM reports WHERE userid = 1)) AS status 
FROM users 
WHERE id = 1 
LIMIT 1';

$stmt->prepare($Query);
$stmt->execute();
$row = $stmt->fetch();

$name = $row['name'];
$status = $row['status'];

多个查询:

1

$Query = 'SELECT name
FROM users 
WHERE id = 1 
LIMIT 1';

$stmt->prepare($Query);
$stmt->execute();
$row = $stmt->fetch();

$name = $row['name'];

2

$Query = 'SELECT EXISTS (SELECT id FROM reports WHERE userid = 1)';
$stmt->prepare($Query);
$stmt->execute();
$status = $stmt->fetchColumn();
答案

在第二个版本中,mysql必须编译,解析和执行两个查询。在第一个中,只需要编译,解析和执行一个查询。

停在那里。您认为哪个更快?大概多少钱?

与所有性能问题一样,您可以自己尝试一下,看看哪个更快。

运行这些简单查询的开销非常重要。如果你关心性能,你需要一个关于users(id, name)reports(userid)的索引。由于运行查询的开销,第一个查询应该更快。

以上是关于哪个更快?组合或多个查询?的主要内容,如果未能解决你的问题,请参考以下文章

Android SQLite:哪个查询(“query”或“rawQuery”)更快?

哪个是更快的单个大查询或几个小查询?

单个对象数组或多个数据属性数组哪个更快? [关闭]

MongoDB:运行更快的查询,这更好 Pymongo 或 MongoEngine

子查询或 leftjoin with group by 哪个更快?

分页结果集中的选择子查询或左外连接哪个更快