在Windows Mobile中使用C#在SQLCE中查找数据的最快方法是什么?我有一个包含一百万条记录的数据库。是最快的SQL查询,DataReader还是什么?
答案 0 :(得分:2)
到目前为止,最快的方法是根本不使用查询处理器。将表索引到要搜索的字段,然后使用带有TableDirect的SqlCeCommand并打开阅读器。只需添加查询处理器就可以使它慢一个数量级。
答案 1 :(得分:1)
为where子句和SqlConnection使用索引。
答案 2 :(得分:0)
在我的测试中,最快的方法是将SQLCE视为旧式dBase;
// Get a cached Select Command
SqlCeCommand command = this.selectCommand;
// Tell it to match the first value you are searching for (having already set IndexName on the command
command.SetRange(DbRangeOptions.Match, new object[] { key }, null);
// Read a single row
SqlCeDataReader reader = command.ExecuteReader(System.Data.CommandBehavior.SingleRow);
object value = null;
// Read your value by column index.
for (int i = 1; reader.Read(); i++)
{
value = reader[1];
}