在Windows Mobile中使用C#在SQLCE中查找数据的最快方法是什么?

时间:2009-11-06 18:34:40

标签: c# windows-mobile sql-server-ce

在Windows Mobile中使用C#在SQLCE中查找数据的最快方法是什么?我有一个包含一百万条记录的数据库。是最快的SQL查询,DataReader还是什么?

3 个答案:

答案 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];
}