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で説明するにはどうすればよいですか?たとえば、story_id が「9」であるかのように、MySQL に Explain ステートメントを提供してもらいたいとします。

基本的に、story_id または user_id が提供されていなくても、MySQL にこのクエリを説明してもらいたいだけです。

4

1 に答える 1

1

値がないと、スキャンする必要がある行数を見積もることができないため、クエリを説明できません。これは、Explain 出力に行を表示するだけでなく、適切なインデックスを選択するためでもあります。story_id にインデックスがあり、user_id に別のインデックスがある場合、選択する行が少ない方が選択されます。また、where句が行とまったく一致しないことがわかる場合があります(不可能なwhere句を出力します)

于 2012-02-06T08:56:52.740 に答える