易截截图软件、单文件、免安装、纯绿色、仅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 高手进来啊

小弟 弄点东西可是调用 sqlite3_prepare 这个函数 select 就好使 只要 改变数据库 的就不行 比如insert 之类的 谁来帮个忙啊 请问这是什么原因 啊 用 c 去实现的
你用的什么工具啊?
把你自己的代码发 ......

又来问大大们了,还是关于sqlite的问题

我现在有两个表
第一个表为
id          title      content   
1          34234        234234
......

delphi 怎么样使用sqlite数据库?

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