php - 使用通配符与窄 mysql 查询提取详细信息

标签 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/>";
}

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

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

最佳答案

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

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

关于php - 使用通配符与窄 mysql 查询提取详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572522/

相关文章:

php - 无需开发人员/api key 即可从 youtube 获取 Youtube 标题

论坛网站Mysql结构

mysql - SQL 查询获取 SUM 生成的新列的前 10 名

php - 为什么 'Quantity' 值不显示任何值?

php - 更新选定的随机行 PHP

php - 使用ajax检查数据库,如果成功则使用振动API

php - 将表从一个mysql复制到另一个mysql

php - 在 php 5.2 中使用 foreach 的 mysql 结果不起作用,但在 php 5.4 中有效

php $fopen 错误

php - MySql:按 ASC 排序,底部为空