现在使用SQLite我写下面的内容(我可能会转移到mysql或ms sql)
command.CommandText = "SELECT count(reset_key) user_data WHERE reset_key=@key;";
这有效,但有更优化或更清洁的方式吗?
答案 0 :(得分:4)
这是关于最干净,最优化的方式。确保reset_key
上有一个索引,它会非常非常快。
答案 1 :(得分:0)
尝试
Select Case When Exists (Select * From user_Data
Where reset_key = @key)
Then 1 Else 0 End
答案 2 :(得分:0)
SQLite支持LIMIT子句。这可能有所帮助。
编辑:我不知道SQLite语法。但在SQL意义上,它看起来像
Select 1 From user_Data Where reset_key = @key LIMIT 1
答案 3 :(得分:0)
command.CommandText = "SELECT TOP 1 1 FROM user_data WHERE reset_key=@key"
if (commmand.ExecuteScalar() == null)
{
//code for no matches here
}