SQL Server CE工具箱性能

时间:2014-05-16 13:51:21

标签: sql-server-ce

当我使用SQL Server CE 4.0 DLL从我的应用程序运行数据库查询时,返回结果所需的时间比使用VS2010的SQL Server CE工具箱插件在同一数据库上运行相同查询要长5倍。

有谁知道我做错了什么?

查询类似于:

SELECT * FROM WHERE column1> ''和第2列< ''AND column3 IN(14)

数据库文件非常大,大约600 MB,运行查询的表中有超过300万行。

上述查询中使用的所有3列都已编入索引。

查询返回大约5000行。

以下是一些查询性能数字:

  • 我的代码:1秒
  • SQL Server CE工具箱:0.188秒

在我的C ++代码中,我使用ATL / OLEDB来访问数据库:

CCommand<CDynamicParameterAccessorEx> cmd;
    HRESULT hr = videosCmd.Create(dbsession,
        querystmt.c_str());

void* pDummy;

// Bind the parameters.
hr = cmd.BindParameters (/* can't show args here because of SO weirdness */); 


// set the second parameter- start time
DBTIMESTAMP dbStart;
tzLocalTimeToUTC(startLocal, &start_utc);
ConvertTime(start_utc, &dbStart);
videosCmd.SetParam(1, &dbStart);

// set the first parameter- end time
DBTIMESTAMP dbEnd;
tzLocalTimeToUTC(endLocal, &end_utc);
ConvertTime(end_utc, &dbEnd);
videosCmd.SetParam(2, &dbEnd);

hr = cmd.Open();

hr = cmd.MoveFirst();

0 个答案:

没有答案