我正在使用 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 项目)会有什么影响(如果有的话)?
最佳答案
减少从数据库获取的数据的宽度总是会提高性能 - DBMS 必须为其从磁盘读取的任何数据分配内存,然后必须将其传输到客户端,而客户端必须分配内存来存储它。使用的内存越多,系统速度就越慢。
但是,如果差异只有几 kb,那么这本身不会产生太大影响 - 但对性能产生很大影响的是当您使用 covering index 选择数据时。 .
关于php - 使用通配符与窄 mysql 查询提取详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572522/