QSqlTableModel fetchMore()效率极低

QSqlTableModel fetchMore()效率极低,sql,sql-server,qt,Sql,Sql Server,Qt,环顾四周,使用QSqlTableModel,从表中获取所有行的方法是 select(); while( canFetchMore() ) { fetchMore(); } 第一个select看起来不错,但是fetchMore似乎一次只抓取一行。我正在重击Sql server,获取大约350行数据需要几秒钟的时间,更不用说浪费大量CPU了 数据库是SQL Server。没有更好的办法了吗 EDIT:经过DBA的挖掘和帮助,我可以确认我从两个不同的数据库中获得了不同的行为。不幸的是,它们是

环顾四周,使用QSqlTableModel,从表中获取所有行的方法是

select();
while( canFetchMore() ) {
    fetchMore();
}
第一个select看起来不错,但是fetchMore似乎一次只抓取一行。我正在重击Sql server,获取大约350行数据需要几秒钟的时间,更不用说浪费大量CPU了


数据库是SQL Server。没有更好的办法了吗

EDIT:经过DBA的挖掘和帮助,我可以确认我从两个不同的数据库中获得了不同的行为。不幸的是,它们是同一版本的SQL Server,并且都使用由Microsoft编写的Linux上的ODBC驱动程序。在工作表下,一个将选择256行,然后fetchMore的每个迭代将选择另外256行。对于另一个,select和fetchMore一次只能获取一行,这会导致各种问题


不幸的是,我的解决方案是将QSqlQuery传递给QSqlDatabase。

fetchmore应该与分页一起使用,而不是下载整个表。您应该显示第一页,并放置一个按钮来触发获取更多…我需要整个表-它不一定用于显示。。。我得比较一下桌子。看起来QSqlQueryModel会更好。