如果我只使用纯字符串查询Postgres数据库,则查询会很快发生(~31 ms):
using (var conn = new NpgsqlConnection(DatabaseConnStr))
{
conn.Open();
var command = conn.CreateCommand();
command.CommandText = "select YoutubeID from Videos where YoutubeID='mmHX6dvXL8Y' limit 1;";
var reader = command.ExecuteReader();
if (reader.Read())
{
Console.WriteLine(reader["YoutubeID"]);
}
conn.Close();
}
但是,如果我使用Npgsql参数,就像你应该的那样,查询速度很慢(~11秒):
command.CommandText = "select YoutubeID from Videos where YoutubeID=@ytid limit 1;";
command.Parameters.AddWithValue("@ytid", "mmHX6dvXL8Y");
有谁知道为什么会这样?我认为这些将在大致相同的时间内完成。