1 21 package com.db4o.test.tuning; 22 23 import com.db4o.*; 24 import com.db4o.query.*; 25 import com.db4o.test.*; 26 27 28 34 35 public class TuningMemberFieldQuery { 36 37 static final int COUNT = 2; 38 39 TMFMember member; 40 41 public TuningMemberFieldQuery(){ 42 } 43 44 public TuningMemberFieldQuery(TMFMember member){ 45 this.member = member; 46 } 47 48 public void configure() { 49 Db4o.configure().objectClass(this).objectField("member").indexed(true); 50 Db4o.configure().objectClass(TMFMember.class).objectField("name").indexed(true); 51 } 52 53 public void store(){ 54 for (int i = 0; i < COUNT; i++) { 55 Test.store(new TuningMemberFieldQuery(new TMFMember("" + i))); 56 } 57 } 58 59 public void test(){ 60 Query q = Test.query(); 61 q.constrain(TuningMemberFieldQuery.class); 62 63 q.descend("member").descend("name").constrain("1"); 64 65 66 67 long start = System.currentTimeMillis(); 68 ObjectSet objectSet = q.execute(); 69 70 long stop = System.currentTimeMillis(); 71 72 Test.ensure(objectSet.size() == 1); 73 TuningMemberFieldQuery tmf = (TuningMemberFieldQuery)objectSet.next(); 74 Test.ensure(tmf.member.name.equals("1")); 75 76 long duration = stop - start; 77 System.out.println("Querying " + COUNT + " objects for member identity: " + duration + "ms"); 78 } 79 80 public static class TMFMember{ 81 82 String name; 83 84 public TMFMember(){ 85 } 86 87 public TMFMember(String name){ 88 this.name = name; 89 } 90 91 } 92 93 } 94 | Popular Tags |