Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
遗留SQLite应用程序_Sqlite - Fatal编程技术网

遗留SQLite应用程序

遗留SQLite应用程序,sqlite,Sqlite,首先,我应该说这是我第一次使用SQLite。我继承了一个与2005年的sqlite.dll和2007年的sqlite3.dll捆绑在一起的应用程序。我可以在运行Windows 10的现代桌面和运行Windows 7的旧桌面(32位)上运行它,旧桌面运行数据库的速度比新桌面快10倍左右 有没有一个相对无痛的解决方案可以让现代桌面版本升级?我想也许我可以用新的dll替换旧的dll,但这当然行不通,因为应用程序设置为32位版本。应用程序将不会使用新的dll运行。我的猜测是,现代64位版本没有非常有效地

首先,我应该说这是我第一次使用SQLite。我继承了一个与2005年的sqlite.dll和2007年的sqlite3.dll捆绑在一起的应用程序。我可以在运行Windows 10的现代桌面和运行Windows 7的旧桌面(32位)上运行它,旧桌面运行数据库的速度比新桌面快10倍左右

有没有一个相对无痛的解决方案可以让现代桌面版本升级?我想也许我可以用新的dll替换旧的dll,但这当然行不通,因为应用程序设置为32位版本。应用程序将不会使用新的dll运行。我的猜测是,现代64位版本没有非常有效地利用32位dll,并导致了速度问题,但我没有看到一个简单的解决方案


因此,我想我的问题有两个方面:I)我关于问题来源的结论是否合理;ii)是否有一个简单的解决方法(比说重写数据库代码更简单?

因此,回答我的部分问题,没有,我的结论是无效的。我能够在同样运行64位Windows操作系统和SQLite的第三个系统上进行测试。问题出在别处。确切地说,SQLite没有理由在较新的操作系统上工作得慢得多。它看起来更像是与机器有关的东西。SQLite是一个文件数据库,所以它的速度在很大程度上取决于磁盘I/O。也就是说,如果某个进程已经占用了大量的磁盘I/O,那么你的应用程序将运行得较慢。