0
var q = 'SELECT * FROM stories_comments WHERE story_id=? AND user_id=? ORDER BY created_at ASC';
    mclient.query(q, [story_id, 0], function(err, results, fields){
        next(err, results);
    });

例如,这是我的代码。我想在 MySQL 中解释这个查询,但我没有值来放置 story_id。我如何用虚拟 id 解释它?我希望 MySQL 给我一个解释语句,就好像 story_id 是“9”,比方说。

基本上,我只想让 MySQL 解释这个查询,即使我没有提供 story_id 或 user_id。

4

1 回答 1

1

没有值,它无法解释查询,因为它无法估计需要扫描的行数。这不仅是为了显示解释输出中的行,而且是为了选择适当的索引 - 如果您在 story_id 上有索引,在 user_id 上有另一个索引,它将选择选择较少行的那个。有时解释可以看到 where 子句根本不匹配行(并且会输出不可能的 where 子句)

于 2012-02-06T08:56:52.740 回答