我正在使用比平均更大的sqlite数据库(在Windows和Linux上使用),我希望最大限度地提高我的性能。数据库将与sqlite gui一起安装在商品硬件上。我提供的用户是精通sql但不太可能进行自己的优化(创建索引,设置pragma等),所以我渴望获得尽可能多的开箱即用性能(以确保最大限度地使用数据)。
一个问题Windows似乎比Linux更节省了查询的执行,另一个问题是我不太熟悉sqlite的索引方法(与postgres等其他数据库相比)。
我正在使用比平均更大的sqlite数据库(在Windows和Linux上使用),我希望最大限度地提高我的性能。数据库将与sqlite gui一起安装在商品硬件上。我提供的用户是精通sql但不太可能进行自己的优化(创建索引,设置pragma等),所以我渴望获得尽可能多的开箱即用性能(以确保最大限度地使用数据)。
一个问题Windows似乎比Linux更节省了查询的执行,另一个问题是我不太熟悉sqlite的索引方法(与postgres等其他数据库相比)。
你读过了吗? SQLite优化常见问题 (几岁,但似乎仍然有用)?
我不认为1gb特别大,即使对于SQLite也是如此。它当然可以稳定地处理更大的数据库。
你读过了吗? SQLite优化常见问题 (几岁,但似乎仍然有用)?
我不认为1gb特别大,即使对于SQLite也是如此。它当然可以稳定地处理更大的数据库。
更新 - 我们在导入时更加智能地对数据进行排序,积极索引(在此过程中将db文件的大小增加一倍以上),调整Windows中的设置以使XP更像服务器比桌面更改连接顺序(您不能单独依赖优化程序)并通过创建性能测试套件来衡量您的进度(仅用于运行查询和进行测量的工具)。
体验很有趣,最终用户很高兴并能够处理数据。
如果您正在进行大量数据导入,我发现最有效的方法是
还记得sqlite还不支持where子句中的or运算符。 您可以通过对where子句进行demogranizing来调整事物来使用ands。
您应该每晚看一看“计划任务”和“优化表”的脚本,甚至可以重新创建索引。定期这样做可以节省大量的时间和手工劳动。