我开始知道PostgreSQL分页(使用 LIMIT和OFFSET )非常慢,不幸的是,我很难理解这一点,因为我的一个小型网络应用程序项目使用它作为DB和开发几乎结束了。
我在SO和其他网站上看到了一些解决方法,但是所有这些都使用额外的索引和类似的东西。但它不适合我,因为我将不得不为表创建许多索引(有几十个表),并且还必须重写查询。所以我的问题是:
有没有办法可以避免这种情况而不花更多时间(创建那些额外的索引并重写查询等)?我的意思是,一个简单的解决方法?
我对MySQL没有感觉这么慢(我猜,Oracle也是如此),因此,PostgreSQL人员会在未来的版本中改进吗?或者他们根本不会这样做? (如果他们有计划,我想继续使用PostgreSQL,如果不是我会选择MySQL,因为典型的网络应用程序/ ERP会有很多分页要求,为此做额外的工作是不明智的。基本需要)
答案 0 :(得分:1)
分页?..如果你的意思是if (pid) {
if (sqlite3_bind_text(sql_stmt, 1, pid.UTF8String, -1, SQLITE_STATIC) != SQLITE_OK){
// do your stuff
}
} else {
sqlite3_bind_null(sql_stmt,1);
}
它很快。与Oracle的LIMIT OFFSET
相比,mysql中的LIMIT WHERE ROWNUM
...各方面都相同
所以答案是: