易截截图软件、单文件、免安装、纯绿色、仅160KB

关于sqlite执行时间的疑问?

数据库中有一个users表。
create table users(name text, number text);
循环插入一百条,不使用事务的话,在我的机器上需要6s。 
而在我朋友的机器上这样的操作花费不到1s。 

可能是哪方面的原因导致这样的差异?
系统的不同,sqlite版本的不同或是编译器的不同?

C/C++ code:

sqlite3* pHandle = 0;
int nOpenRet = sqlite3_open("/home/test.db", &pHandle);
//ouput_time();
int i = 0;
char sExec[256] = {0};
snprintf(sExec, 255, "insert into users values('user', '1');");
char* pErrMsg=0;
for (; i < 100; i++)
{
if (sqlite3_exec(pHandle,sExec, 0, 0, &pErrMsg)!= 0)
{
printf("sqlite execute fail, i=%d\n", i);
return 0;
}
}



引用

你机器的硬盘速度。

谢谢你的回复。

我朋友的机器同我的配置都一模一样,所以可以排除这类问题。


引用
配置一样的话,应该跟操作系统以及编译器的版本有关系。100条数据,应该相当快的


我在其他两台机器上运行过,一台系统和我的一样都是ubuntu.不过编译器用的不同,
他是使用emacs.
只是觉得编译器造成这样的差异是不是有些夸张?



找到原因了,和系统的文件系统格式差异有关.
在ext3 和ext4上的不同.
谢谢各位回帖


相关问答:

熟悉Sqlite的请进来!!!!!

大家好!
  sqlite字段为float型的值怎样访问?
试过用sqlite3_column_double,确返回的数据不正确;
没用过,帮顶.

一样啊,返回全是 string

你的代码是什么?
double sqlite3_column_double(sqli ......

sqlite移植wince

我想在pda上用SQLite数据库,我程序是qt写的,但是我应该怎样将SQLite移植到wince平台上呢,我现在有了SQLite.dll和SQLite.lib,之后我交叉编译生成了.exe文件,为什么在模拟器上不能运行呢?
期待着高手回答,谢谢 ......

sqlite在linux上的使用

要在linux上使用sqlite是不是要先编译安装?怎么安装?
c#+sqlite+linux的相关应用有没有一些相关资料?
linux 上能运行C# ?

你可以下载编译好的,也可以下载源代码再自己编译
http://www.sqlite.org/downl ......

delphi 怎么样使用sqlite数据库?

手头有一个小CASE,要用到数据库,想采用SQLite。
有用过的朋友吗?
要怎么安装sqlite服务?还是不需要安装?
用什么软件来管理Sqlite数据库?如添加表,写存储过程等。
delphi中怎么样连接到sqlite数据库?用什 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号