MySQL 从具有一行的表中选择

标签 mysql performance

我有一张只有一行的表格。

该表被频繁查询。 (在每个页面加载时)。

构建查询的最佳方法是什么?

让我们假设,这是一个表结构:

CREATE TABLE `counter` (
    `id` INT(10) NOT NULL DEFAULT '0',
    `point1` INT(10) NOT NULL DEFAULT '0',
    `point2` INT(10) NOT NULL DEFAULT '0',
    `point3` INT(10) NOT NULL DEFAULT '0',
    `...` INT(10) NOT NULL DEFAULT '0',
    `pointN` INT(10) NOT NULL DEFAULT '0'
)

我故意添加了 id 字段。表引擎是MyISAM

现在我正在这样做:

SELECT * FROM counter WHERE id = 1 LIMIT 1;

我可以这样做吗:

SELECT * FROM counter;

或者这样:

SELECT * FROM counter LIMIT 1;

性能会有差异吗?

id 字段未建立索引。如果只有一行,我看不到索引中的点。

最佳答案

优化器可能会将所有查询优化为相同的。但理论上来说

SELECT * FROM counter;

是最快的,因为它不需要对数据进行任何查找,因为没有 where 子句来限制数据。

关于MySQL 从具有一行的表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490062/

相关文章:

wordpress - 删除 Avada 主题中未使用的脚本

php - 如何导入带或不带标题的 csv 并允许记录具有空列字段?

php - 加密 Controller 代码

java - 将 mysql 表 "as is"转换为 xml 文档的最简单方法?

php - 选择与同一张表中的新旧工具不同

mysql - 将文本文件中的关键字与 MySql 字段进行匹配以查找出现次数

python - 快速排序更快地对较大的数字进行排序?

performance - 为什么条件移动不易受到分支预测失败的影响?

performance - 在单独的域/服务器中拥有静态资源是否值得?

android - 提高性能启动混合应用程序