如何提高使用QT的sqlite3数据库的性能?
我在sqlite3数据库上使用QSQlQuery。为了获取一个特定的项,我填充了4个不同表的结果。我认为加入表格可以提高性能/速度,更快地获得结果。因此,我最初连接了两个表,但在连接表之后获取数据需要更长的时间(?) 任何关于如何提高绩效的建议都将不胜感激。此外,我还研究了,其中提到使用setForwardOnly可以提高某些数据库的性能。知道它是否适用于SQLite3吗如何提高使用QT的sqlite3数据库的性能?,sqlite,qsqltablemodel,Sqlite,Qsqltablemodel,我在sqlite3数据库上使用QSQlQuery。为了获取一个特定的项,我填充了4个不同表的结果。我认为加入表格可以提高性能/速度,更快地获得结果。因此,我最初连接了两个表,但在连接表之后获取数据需要更长的时间(?) 任何关于如何提高绩效的建议都将不胜感激。此外,我还研究了,其中提到使用setForwardOnly可以提高某些数据库的性能。知道它是否适用于SQLite3吗 谢谢 根据这个链接 SQLite通过将USING子句转换为一些额外的WHERE子句术语来实现JOIN USING。对于“自
谢谢 根据这个链接 SQLite通过将USING子句转换为一些额外的WHERE子句术语来实现JOIN USING。对于“自然连接”和“连接在上”也是如此。因此,尽管这些构造可能对人类读者有所帮助,但它们对SQLite的查询优化器并没有任何影响 -我错误地将两个表连接在一起,并期望提取速度更快。它不适用于SQLite数据库。相反,使用“where”子句并直接连接两个结果肯定会对性能产生一些积极影响 (例如: 从A,B中选择*其中A.id=B.id其中A.id=1;而不是 从A.id=B.id上的左侧外部联接B中选择*,其中A.id=1)
SQLite在编译之前将第一条语句转换为第二条语句,您可以通过直接使用第二条语句节省少量的CPU时间您可以发布表架构和/或SQL查询的联接和未联接(如果需要,您可以简化它们以供演示)?感谢您的回复。我已编辑了上述问题。如果您认为您已经找到了问题的解决方案,请将其作为答案提供。我已将解决方案添加到问题本身。我没有足够的权限在发布问题的同一天提供答案。