使用通配符和缩小的mysql查询来拉取详细信息

时间:2013-10-24 17:23:40

标签: php mysql

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

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

我正试图从表中拉出1行,这是一般代码:

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

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

我正在尝试了解对较大dbs(例如10M或100M项目)的影响(如果有的话)?

1 个答案:

答案 0 :(得分:0)

减少数据库获取的数据宽度将始终提高性能 - DBMS必须为从磁盘读取的任何数据分配内存,然后必须将其传输到客户端,客户端必须分配内存来存储它。使用的内存越多,系统运行速度就越慢。

然而,如果差异仅为几kb,那么这本身就不会产生太大影响 - 但是当您使用covering index选择数据时,会产生很大的性能影响。