0

我正在玩 PHP/MySQL。我无法设计什么是“更好”,为什么?

这实际上不是一个直接的技术问题,而是一个与效率相关的问题。

我正在尝试从表中提取 1 行,这是通用代码:

$query=mysqli_query($con,"SELECT * FROM `tracked_sites` WHERE checkType =1");
while ($row = mysqli_fetch_assoc($query)) {
    echo $row["domain"] . "<br/>";
}

这行得通,一切都很好,但是我也可以使用更具体的查询来完成,而不是使用通配符。我可以只指定域,它会将结果缩减到该行。

我试图了解对更大的数据库(比如说 10M 或 100M 项)有什么影响(如果有的话)?

4

1 回答 1

0

减少从数据库中获取的数据的宽度总是会提高性能——DBMS 必须为它从磁盘读取的任何数据分配内存,然后它必须将其传输给客户端,客户端必须分配内存来存储它。使用的内存越多,系统就越慢。

但是,如果差异只有几 kb,那么这本身不会产生太大影响 - 但是当您使用覆盖索引选择数据时,会产生非常大的性能影响。

于 2013-10-24T22:20:24.067 回答