查看完整版本: [-- QSqlTableModel或QSqlQueryModel+TableView一次显示所有数据太慢太慢 --]

QTCN开发网 -> Qt基础编程 -> QSqlTableModel或QSqlQueryModel+TableView一次显示所有数据太慢太慢 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

littlebee 2020-08-23 20:10

QSqlTableModel或QSqlQueryModel+TableView一次显示所有数据太慢太慢

这些模型取数据当一次需求大于256条时,需要用到如下代码才可以一次把全部数据读取出来,但是在实际使用时当数据量一万条时,卡到不能直视,足有七八秒时间,请问这个问题应当怎么解决?
while(model.canFetchMore())  
model.fetchMore();  

uidab 2020-08-24 10:32
不应该吧,我也是一万多条,没这么慢。

littlebee 2020-08-24 14:07
uidab:不应该吧,我也是一万多条,没这么慢。 (2020-08-24 10:32) 

哦,这么看来不知道我哪里是否有点问题,我再找找看原因

uidab 2020-08-24 15:05
littlebee:哦,这么看来不知道我哪里是否有点问题,我再找找看原因 (2020-08-24 14:07) 

你要是几十万,上百万有点慢还能理解,不过也不会7、8秒。电脑什么配置?

littlebee 2020-08-24 19:30
uidab:你要是几十万,上百万有点慢还能理解,不过也不会7、8秒。电脑什么配置? (2020-08-24 15:05) 

WIN10  I5处理器 8G内存,数据库大概有60多个字端

姜小白 2020-08-25 08:55
你的TableView里面是否用了QWidget的相关控件做数据展示?
如果有,千万要换掉,很影响速度的!

littlebee 2020-08-25 10:49
姜小白:你的TableView里面是否用了QWidget的相关控件做数据展示?
如果有,千万要换掉,很影响速度的! (2020-08-25 08:55) 

啥也没敢用啊,qsqltablemodel  qsqlquerymodel  qsqlrelationalmodel 都试过一样的卡,目前还不知道问题出在哪

littlebee 2020-08-25 10:49
uidab:你要是几十万,上百万有点慢还能理解,不过也不会7、8秒。电脑什么配置? (2020-08-24 15:05) 

会不会要多线程操作?

uidab 2020-08-25 11:21
littlebee:会不会要多线程操作? (2020-08-25 10:49) 

多线程干啥?

littlebee 2020-08-25 11:34
uidab:多线程干啥? (2020-08-25 11:21) 

读取数据太慢,是不是需要多线程去做?

uidab 2020-08-25 13:42
littlebee:读取数据太慢,是不是需要多线程去做? (2020-08-25 11:34) 

你这是没看懂MVC过程??

littlebee 2020-08-25 14:29
uidab:你这是没看懂MVC过程?? (2020-08-25 13:42) 

不懂,还望坛主赐教

littlebee 2020-08-25 15:09
uidab:你这是没看懂MVC过程?? (2020-08-25 13:42) 

如果我打开表需要直接定位在最后一条数据的话,请问跟MVC有没关系?

qq2632671 2020-08-25 15:15
兰州有没有试下用自定义模型,然后用SELECT查询数据库?

我做有关数据库的模型都是自定义模型,不用QSqlQueryModel,因为我觉得数据库各种情况太多了,QSqlQueryModel的查询不一定最符合我的数据库里的表结构

PS:我没看过QSqlQueryModel的源代码,所以查询这块我不太放心,一般都是用自己的SELECT语句去查询的

qq2632671 2020-08-25 15:17
直接继承QAbctractTableModel(如果你要显示表的数据),然后查询数据函数里用SELECT语句,看看是不是也要怎么多时间。

littlebee 2020-08-25 15:50
uidab:你这是没看懂MVC过程?? (2020-08-25 13:42) 

我知道了,根据实际需求显示一定数量,天啊,这个还得自己动手码代码

littlebee 2020-08-25 18:09
qq2632671:直接继承QAbctractTableModel(如果你要显示表的数据),然后查询数据函数里用SELECT语句,看看是不是也要怎么多时间。 (2020-08-25 15:17) 

感觉值得一试,多谢

littlebee 2020-08-25 18:11
qq2632671:兰州有没有试下用自定义模型,然后用SELECT查询数据库?
我做有关数据库的模型都是自定义模型,不用QSqlQueryModel,因为我觉得数据库各种情况太多了,QSqlQueryModel的查询不一定最符合我的数据库里的表结构
PS:我没看过QSqlQueryModel的源代码,所以查询这块我不太放心,一般 .. (2020-08-25 15:15) 

我也觉得这个模型操作数据库太令人操心了


查看完整版本: [-- QSqlTableModel或QSqlQueryModel+TableView一次显示所有数据太慢太慢 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled