找回密码
 立即注册
收起左侧

连接sql server2008查询7W多条速度过慢

5
回复
7293
查看
[复制链接]
累计签到:83 天
连续签到:1 天
来源: 2016-4-26 17:52:14 显示全部楼层 |阅读模式
5Qter豆
首先恭喜我自己荣升Qter二级会员
         言归正传,我要实现combobox下拉框和数据库里的数据相呼应,利用Qsqlquerymodel模型和combobox绑定,一共才7W多条数据。我是这么写的
  1. _model = new QSqlQueryModel;
  2.     _model->setQuery(QObject::tr("select Color,ProductName,Numbers from ColorGroup"));

  3. pCombobox->setModel(_model);
复制代码
当然我是写在构造函数里,结果等了近20分钟才把界面显示出来,而我在数据库直接sql语句时,秒回。想知道怎么才能快一些,是Qt错还是数据库的错,为什么差距如此之大?

最佳答案

查看完整内容

那就是界面的问题了,你可以自己写一个界面来显示这些数据,至于什么界面那是很主观的问题
回复

使用道具 举报

尚未签到

2016-4-26 17:52:15 显示全部楼层
那就是界面的问题了,你可以自己写一个界面来显示这些数据,至于什么界面那是很主观的问题

点评

用Qsqltablemodel绑定comnobox就很快  详情 回复 发表于 2016-4-28 08:12
回复

使用道具 举报

尚未签到

2016-4-26 22:14:56 显示全部楼层
你可以在每一行代码之间插入一个显示当前时间的输出,看看是哪一行慢

点评

我测试了时间,执行那几条语句几乎是瞬间完成,但是show界面的时候又异常的慢,后来我只放一个combobox测设,结果一样,就算界面出来的conbobox也要等好久才可以点击,很卡。数据量1000以内就没什么问题。估计是QCom  详情 回复 发表于 2016-4-27 16:37
回复

使用道具 举报

累计签到:83 天
连续签到:1 天
2016-4-27 16:37:17 显示全部楼层
Joey_Chan 发表于 2016-4-26 22:14
你可以在每一行代码之间插入一个显示当前时间的输出,看看是哪一行慢

我测试了时间,执行那几条语句几乎是瞬间完成,但是show界面的时候又异常的慢,后来我只放一个combobox测设,结果一样,就算界面出来的conbobox也要等好久才可以点击,很卡。数据量1000以内就没什么问题。估计是QCombobox自带的模型还是只针对小量数据,看来得自定义了,请问有什么更好更便捷的方法么?
回复

使用道具 举报

累计签到:83 天
连续签到:1 天
2016-4-28 08:12:00 显示全部楼层
Joey_Chan 发表于 2016-4-27 22:55
那就是界面的问题了,你可以自己写一个界面来显示这些数据,至于什么界面那是很主观的问题 ...

用Qsqltablemodel绑定comnobox就很快
回复

使用道具 举报

尚未签到

2016-4-28 22:34:49 显示全部楼层
解决了就好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了