Qt SQLite SELECT 查询在 Symbian 上非常慢

发布于 2024-11-08 19:07:41 字数 291 浏览 0 评论 0原文

我正在使用 Qt for Symbian 编写一个应用程序,并且使用大量的 SQLite 小查询来从我创建的数据库中获取数据。

问题是某些查询需要一秒钟的时间才能执行。看起来执行时间是随机的,因为有时简单的 SELECT 查询运行速度快至 1 或 2 毫秒,有时需要超过 1000 毫秒。

我通常会连续执行许多这样的小查询。

查询很简单:

SELECT field FROM table

这里是否存在某种同时访问问题或类似的问题?

此致

I'm writing an application with Qt for Symbian and I'm using lots of little SQLite queries to fetch data from the database I've created.

The problem is that some of the queries take over a second to execute. It seems that the execution time is random, because sometimes the simple SELECT queries run as fast as 1 or 2 milliseconds, and sometimes it takes over 1000 milliseconds.

I'm usually executing many such little queries in a row.

The queries are as simple as:

SELECT field FROM table

Is there some sort of simultaneous access problem at work here or something similar?

Best regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雅心素梦 2024-11-15 19:07:41

是否有某种同时发生的情况
此处工作时出现访问问题或
类似的东西?

据我所知,sqlite 使用整个基本锁而不是表锁,所以是的,这可能就是那个麻烦。如果您不那么频繁地写入基数,请尝试向您选择的列添加索引,并使用 where 子句来最大限度地减少返回的行数。例如,在调试模式下创建 20-30k 个 QVariants 可能需要很长时间...

Is there some sort of simultaneous
access problem at work here or
something similar?

As far as i know sqlite uses whole base lock instead of table locks, so yes, that may be that trouble. If you write to base not so frequently, try to add indexes to columns you selecting from, and use where clauses to minimize count of rows returned. Creating, for example, 20-30k of QVariants may take a long time in debug mode...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文