我们的实用工具只有一个表,它有1,000万到5,000万行,可能有这样的情况,我们需要在一个单页面html客户端页面中显示5,000,000行,以便在浏览器中显示这些行,我们在UI中使用jQuery。
为了检索行,我们使用Hibernate和Spring for MVC。我正在寻找检索行和在UI中显示的最佳实践。我应该在Hibernate中检索数千行还是2000行,并将其缓冲到Web客户端,或者是否有最佳实践?
我我需要执行像这样的东西
for (int i = 0; i<=moreThanThousand; i++){
Entity e = new Entity();
insertEntity(e);
}
或
for (Entity e: moreThanThousandEntities){
updateEntity(e);
}
Hibernate中是否有批处理机制?在多个线程中执行这项工作有意义吗?最佳实践是什么?对于JDBC,我会使用PreparedStatement的addBatch()和executeBatch()方法,但我不
有两种类型的查询在我的应用程序中执行:
DELETE FROM tbl1 WHERE user_id = 1;
INSERT INTO tbl1 VALUES (...), (...), ...;
和
UPDATE tbl2 WHERE id = 1 SET ...;
DELETE FROM tbl3 WHERE tbl2_id = 1;
INSERT INTO tbl3 VALUES (...), (...), ...;
DELETE FROM tbl4 WHERE tbl2_id = 1;
INSERT INTO tbl4 VALUES (...), (...), ...;
我使用的ORM
我使用的是Server 2008R2
我希望您对下面关于性能和最佳实践的两个SQL语句的看法。
select
*
from BcpSample1
where dataloadid = (select MAX(id) from LoadControl_BcpSample1 where Status = 'completed')
和
select
a.*
from CiaBcpSample1 a
inner join (select ActiveDataLoadId = MAX(id) from LoadControl_BcpSample1 where Stat