2011-02-05 59 views
1

我试图在当前工作中实现播放。我的经理问我如何处理1百万条记录和MySql的框架协议(我知道这很愚蠢)......我回答说JPA可以解决任何问题,PLAY也可以......但他想要一些报告...[Play Framework]:使用MySql进行性能测试

所以,我想创建一个测试方法与玩UnitTest ...一个简单的查询从数据库中有一百万记录在一些表中。

问题:有什么方法可以模拟mysql数据库中的一个毫秒记录吗?

PS:我知道,也许它不能成为一个PLAY相关问题...

回答

3

像这样的东西会有所帮助:

MyController extends Controller { 
    public static void doInsert() { 
     for (int i=0;i<1000000;i++) { 
      final SampleEntity entity = new SampleEntity(); 
      entity.firstName = "First Name "+i; 
      entity.anotherProperty = i; 
      //etc 
      entity.save(); 
     } 
    } 
} 

您可能需要处理了一下有冲洗的连接,每隔一段时间(这是从内存,可能不是很正确),以避免与Hibernate的问题/ JPA缓存这么多行:

if (i % 50000 == 0) { 
    em().flush(); 
} 
4

插入一百万条记录插入表中。最多需要几分钟时间。没有真实数据,你无法模拟真实的表现。