Previous message was truncated, so check the attachment.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Random;
public class CTETest {
static String[] A = { "ID", "000088", "000188", "000288", "000388", "000488", "000588", "000688", "000788",
"000888", "203688", "000988", "001088", "001188", "001288", "001388", "001488", "001688", "001788",
"001888", "001988", "002088", "002188", "002288", "002488", "002588", "002688", "002788", "002888",
"002988", "003088", "003188", "003288", "003388", "003488", "003588", "003688", "003788", "004188",
"004388", "004488", "004688", "004288", "003888", "003988", "004088", "193788", "004788", "004888",
"004988", "005088", "005188", "005288", "005388", "005488", "180788", "005588", "005688", "005788",
"005888", "005988", "006088", "006188", "006288", "006388", "006488", "006588", "006688", "006788",
"006888", "006988", "007088", "007188", "007288", "189488", "007388", "007488", "007588", "007888",
"007988", "008288", "008388", "008488", "008588", "008688", "008788", "008088", "008188", "007688",
"007788", "008888", "008988", "009088", "009188", "009288", "203788", "009388", "009488", "009588",
"009688", "009788", "180888", "009888", "009988", "183888", "010088", "010188", "010288", "010388",
"010488", "010588", "010688", "010788", "010888", "010988", "011088", "011188", "011288", "011388",
"182988", "011488", "011588", "011688", "011788", "011888", "011988", "012088", "012188", "012288",
"012388", "012488", "012588", "012688", "012788", "012888", "012988", "013088", "013288", "013388",
"013488", "013588", "013688", "181288", "181388", "013788", "013888", "181488", "181588", "013988",
"181688", "014088", "189688", "189788", "189888", "189988", "190188", "190288", "190388", "190488",
"190588", "190688", "190788", "190888", "190988", "191088", "191188", "191288", "191388", "191488",
"191588", "191688", "191788", "191888", "194188", "194288", "194388", "194588", "194688", "014288",
"014388", "014588", "014688", "014888", "014988", "015088", "015288", "015388", "015488", "015688",
"015888", "015988", "016088", "016188", "016288", "016388", "016488", "016588", "016688", "016788",
"016888", "016988", "017088", "017188", "192088", "017288", "181788", "017388", "017488", "017588",
"017688", "017788", "192188", "017888", "184088", "017988", "183488", "194888", "018088", "018188",
"018288", "018388", "018488", "194988", "018688", "018788", "018888", "018988", "019088", "019188",
"019288", "195088", "019388", "195188", "181888", "019488", "019588", "019688", "195288", "019788",
"019888", "019988", "020088", "020188", "020288", "020388", "020488", "192288", "020588", "020688",
"020788", "020888", "020988", "021088", "195488", "021188", "195588", "021288", "021388", "021488",
"021588", "181988", "021688", "021788", "021888", "021988", "195688", "022088", "022188", "022288",
"022388", "022488", "022588", "022688", "184388", "022788", "022888", "022988", "023088", "023188",
"195788", "023288", "023388", "023488", "023588", "023788", "023888", "023988", "024088", "024188",
"024288", "024388", "024488", "024588", "024688", "024788", "024888", "025088", "025188", "195888",
"025288", "024988", "025388", "025488", "025788", "025888", "025988", "026188", "026288", "026388",
"182088", "026488", "026588", "192888", "026688", "026788", "026888", "026988", "192588", "025588",
"025688", "026088", "027088", "027188", "027288", "027388", "027488", "027588", "027688", "027788",
"027888", "027988", "028088", "028188", "184688", "028288", "195988", "028388", "028488", "028588",
"028688", "028788", "028888", "028988", "029088", "029188", "029288", "029388", "029488", "029588",
"182188", "029688", "029788", "029888", "029988", "030088", "196088", "030188", "030288", "030388",
"030488", "030588", "030688", "030788", "030888", "030988", "031088", "031188", "031288", "031388",
"031488", "031588", "031688", "031788", "031888", "031988", "032088", "032188", "032288", "032388",
"032488", "032588", "032688", "032788", "032888", "032988", "033088", "033188", "033288", "196188",
"033388", "033488", "033588", "033688", "033788", "033888", "033988", "034088", "034188", "034288",
"034388", "034488", "034588", "034688", "034788", "034888", "034988", "035088", "035188", "035288",
"035388", "182388", "035488", "035588", "035688", "035788", "035888", "035988", "036088", "036288",
"036388", "036488", "036588", "036688", "036788", "193388", "036888", "036988", "037088", "036188",
"037188", "037288", "037388", "037488", "037588", "037688", "037788", "037888", "037988", "038088",
"038188", "038288", "038388", "038488", "038588", "038688", "038888", "038988", "039088", "039188",
"039288", "039388", "039888", "040088", "040188", "040288", "039488", "039588", "039688", "039788",
"039988", "040388", "182488", "040488", "040588", "040688", "040788", "040888", "040988", "041088",
"041188", "041288", "041388", "041488", "041588", "041688", "041788", "041888", "041988", "042088",
"042188", "042288", "042388", "042488", "042588", "182588", "042688", "042788", "042888", "196388",
"042988", "043088", "043188", "043288", "182688", "043388", "043488", "043588", "043688", "043888",
"043988", "044088", "044188", "044388", "044488", "044588", "044688", "044788", "044988", "045088",
"045288", "045388", "045488", "045588", "045688", "045788", "045988", "046088", "046188", "193488",
"046288", "046388", "046488", "046588", "046688", "046788", "046888", "046988", "047088", "047188",
"047288", "203888", "047388", "047488", "047588", "047688", "047888", "047988", "048088", "203988",
"048288", "048388", "048488", "048588", "048688", "204088", "048788", "048888", "048988", "049088",
"049288", "049488", "049588", "049688", "049788", "049888", "049988", "050088", "050188", "050288",
"050388", "050588", "050788", "050888", "050988", "051088", "051188", "051288", "051388", "051488",
"051588", "051688", "051788", "051988", "052088", "052188", "052288", "052388", "052488", "052588",
"052688", "204188", "052788", "052888", "052988", "053088", "053188", "053288", "053388", "053488",
"053588", "053688", "053788", "053888", "053988", "054088", "054188", "054288", "054388", "054488",
"054588", "054688", "054788", "054888", "054988", "055088", "055188", "055288", "055388", "055488",
"055588", "055688", "055788", "055888", "055988", "056088", "056188", "056288", "056388", "056488",
"056588", "056688", "056788", "056888", "056988", "057088", "057188", "057288", "057388", "057488",
"204288", "057588", "057688", "057788", "057888", "058088", "058188", "058288", "058388", "058488",
"058588", "058688", "058788", "058888", "058988", "059088", "059188", "059288", "059488", "059688",
"059788", "059888", "059988", "060088", "060288", "060388", "060488", "060588", "060688", "060788",
"060888", "060988", "061088", "061188", "061288", "061488", "061588", "061688", "061788", "062088",
"062188", "062288", "062388", "062488", "062588", "062688", "204388", "062788", "062888", "062988",
"063088", "063188", "063288", "063388", "063488", "063588", "063688", "063788", "063888", "063988",
"064088", "064188", "196488", "196588", "196688", "196788", "196888", "196988", "197088", "197188",
"197288", "197788", "197888", "064388", "064488", "064588", "064688", "064788", "064888", "064988",
"065088", "065188", "065288", "065388", "065488", "065588", "065688", "065788", "065888", "065988",
"066088", "181088", "066188", "066288", "066388", "066488", "066588", "204488", "066688", "066788",
"066888", "066988", "067088", "067188", "067288", "067488", "067588", "067688", "067888", "067988",
"068088", "068188", "068288", "068388", "068488", "204788", "068588", "068688", "068988", "069088",
"069188", "069288", "069388", "069488", "069588", "069688", "069788", "069888", "069988", "204888",
"070088", "070188", "070288", "070388", "204988", "070488", "070588", "070688", "070788", "070888",
"070988", "071088", "071188", "071288", "071588", "071888", "071988", "072088", "072188", "072288",
"072388", "072488", "072588", "072688", "072788", "072888", "072988", "073088", "073188", "073288",
"073488", "073588", "073688", "073788", "073888", "073988", "074188", "074288", "205088", "074388",
"074488", "074588", "074688", "074788", "074888", "074988", "075088", "075188", "075288", "075388",
"075488", "075588", "075888", "076088", "076188", "205188", "076388", "076488", "076588", "076688",
"076788", "076888", "076988", "077088", "077188", "077288", "077388", "077488", "077588", "077688",
"077788", "077888", "077988", "078088", "078188", "078288", "078388", "078488", "205288", "078588",
"078688", "078788", "078888", "078988", "079088", "205388", "205488", "079188", "079488", "079588",
"079788", "079888", "080188", "080288", "080388", "080588", "205588", "080688", "080788", "080888",
"080988", "081088", "081188", "081288", "081388", "081488", "081588", "081688", "081788", "081888",
"082088", "205688", "082188", "082388", "082588", "082688", "198588", "198788", "198888", "198988",
"199088", "199188", "199288", "199388", "199488", "199588", "199688", "199788", "199888", "185588",
"082788", "205788", "082888", "082988", "083088", "083188", "083288", "083388", "083488", "083588",
"083688", "083788", "083888", "083988", "084088", "084188", "084288", "084388", "084488", "084588",
"084688", "084788", "084888", "084988", "205888", "085088", "085188", "085288", "085388", "085488",
"085588", "085688", "085788", "085888", "085988", "086088", "205988", "086188", "086288", "086388",
"086488", "086588", "086688", "086788", "086988", "087088", "087188", "206088", "087288", "087388",
"087488", "087588", "087688", "087788", "087888", "087988", "088088", "088188", "088288", "088388",
"088488", "088688", "088788", "088888", "088988", "206188", "089088", "089188", "089288", "089388",
"089488", "089588", "089688", "206288", "089888", "089988", "090088", "090188", "090288", "090388",
"090488", "090588", "090688", "090788", "090888", "090988", "091088", "091288", "091588", "091688",
"091788", "091888", "091988", "092188", "092288", "092388", "092488", "092588", "092788", "092888",
"092988", "093088", "093188", "093288", "202588", "202688", "093388", "206388", "093488", "093588",
"202888", "093688", "093788", "206488", "093988", "094088", "094188", "094288", "094388", "202988",
"094488", "094588", "094688", "094788", "094888", "094988", "203088", "095088", "206588", "095188",
"095288", "095388", "095488", "095588", "095888", "095988", "096088", "096188", "096288", "096688",
"096888", "097088", "097188", "097288", "097388", "097488", "097588", "097688", "097788", "097888",
"097988", "098088", "098188", "098288", "098388", "098488", "098588", "098788", "098888", "098988",
"099088", "099188", "099288", "099388", "099488", "099588", "099688", "185888", "099888", "100088",
"100188", "100288", "100388", "100488", "100588", "100688", "100788", "100888", "101088", "101188",
"101288", "101488", "101588", "101688", "101788", "101888", "101988", "102088", "181188", "102188",
"102288", "102388", "185988", "102488", "102688", "102788", "102888", "102988", "103088", "103188",
"103288", "103388", "103488", "103588", "103688", "103788", "104188", "104288", "104388", "104488",
"104588", "104688", "104788", "104988", "105088", "105188", "105288", "105388", "105488", "105588",
"105688", "105788", "105888", "105988", "106088", "106188", "106288", "106388", "106488", "106688",
"106888", "107088", "107188", "107288", "107388", "107488", "107588", "107688", "107788", "107888",
"108088", "108188", "108388", "108488", "108588", "108688", "108788", "108888", "108988", "109088",
"199988", "200088", "200188", "200288", "200488", "200588", "200688", "200788", "200888", "200988",
"182788", "109288", "109388", "109488", "109588", "109688", "186088", "109788", "109888", "109988",
"110088", "110188", "110288", "110388", "110488", "110588", "110688", "110788", "111888", "111988",
"112088", "112188", "112288", "112388", "112488", "112588", "112688", "193588", "110888", "110988",
"111088", "111188", "111288", "111388", "111488", "111588", "111688", "111788", "186188", "186288",
"112788", "112888", "112988", "113088", "113188", "193688", "113288", "186388", "113388", "113488",
"113588", "113688", "186488", "113788", "186588", "113888", "186688", "113988", "114088", "114188",
"114288", "186788", "186888", "186988", "187088", "201088", "201188", "114388", "187188", "187288",
"187388", "114488", "187488", "187588", "187688", "114588", "187788", "114688", "114788", "114888",
"187888", "187988", "188088", "188188", "188288", "188388", "114988", "115088", "115188", "115288",
"115388", "115488", "115688", "115788", "115888", "116288", "116388", "116488", "116788", "116888",
"117088", "117188", "201288", "188588", "117288", "188688", "117388", "117488", "188788", "188888",
"188988", "189088", "117588", "189188", "189288", "117788", "117888", "117988", "118388", "118588",
"118788", "118888", "118988", "119088", "119188", "119288", "119388", "119488", "119588", "119688",
"119788", "120088", "120188", "120288", "120388", "120488", "120588", "120688", "120788", "120888",
"120988", "121288", "121388", "121488", "121588", "121688", "121788", "121888", "121988", "122188",
"122288", "122388", "122488", "122688", "122788", "122888", "123088", "123388", "123588", "123688",
"124088", "124188", "124288", "124488", "124688", "124888", "125088", "125188", "125288", "125588",
"125788", "125888", "125988", "126288", "126488", "126588", "126688", "126788", "126988", "127088",
"127188", "127288", "127388", "127488", "127588", "127688", "128388", "128488", "128588", "128688",
"128888", "128988", "129088", "129188", "129288", "129488", "129588", "129788", "129888", "129988",
"130388", "130488", "130688", "130788", "130888", "131188", "131388", "131688", "131988", "132088",
"132188", "132288", "132388", "132488", "132688", "132788", "132888", "132988", "133088", "133188",
"133288", "133388", "133688", "133788", "133888", "134188", "134288", "134588", "134888", "134988",
"135088", "135188", "135388", "135488", "135688", "135788", "135888", "135988", "136088", "136388",
"136588", "136688", "137088", "137188", "137288", "137388", "137588", "137688", "137788", "137888",
"137988", "138088", "138188", "138388", "138488", "138588", "138688", "138788", "138888", "138988",
"139088", "139188", "139588", "139688", "139788", "139988", "140488", "140588", "140688", "140788",
"140888", "141088", "141288", "141388", "141588", "142188", "142388", "142688", "142788", "142988",
"143088", "143388", "143488", "143588", "143688", "143788", "143888", "143988", "144188", "144288",
"144388", "144588", "144688", "145288", "145488", "145788", "145888", "145988", "146088", "146188",
"146288", "146388", "146488", "146588", "146688", "146788", "146888", "147188", "147388", "147488",
"147588", "147888", "148188", "148288", "148388", "148788", "148888", "149488", "149788", "149988",
"150188", "150388", "150488", "150588", "150688", "150788", "151388", "151488", "152088", "152288",
"152388", "152788", "152888", "152988", "153088", "153188", "153288", "153488", "153588", "153688",
"153888", "153988", "154088", "154188", "154288", "154388", "189388", "154488", "154588", "154688",
"154788", "154888", "154988", "155088", "155188", "155288", "155388", "155588", "206688", "155688",
"155788", "155888", "155988", "156088", "201488", "156188", "156288", "156388", "201688", "156488",
"206788", "201788", "156588", "156688", "203188", "156788", "156888", "156988", "157088", "157188",
"157288", "157488", "157688", "157788", "157888", "157988", "158088", "158188", "158288", "158388",
"158488", "201888", "158588", "206888", "158688", "158788", "158888", "158988", "159088", "159188",
"159388", "159588", "159688", "159788", "159988", "160088", "160188", "160388", "160488", "160588",
"160688", "160788", "160888", "160988", "161088", "161188", "161288", "161388", "161488", "161588",
"161788", "161888", "162088", "162188", "162288", "162388", "162588", "182888", "162788", "162888",
"163088", "163288", "163388", "163588", "163688", "163788", "163888", "163988", "164188", "164388",
"164488", "164588", "164688", "164788", "164888", "164988", "165188", "165288", "165388", "165488",
"165588", "165688", "165888", "165988", "166088", "166188", "166288", "166488", "166588", "166688",
"166788", "166888", "166988", "167088", "167188", "167388", "167488", "167588", "167688", "167788",
"167888", "167988", "168088", "168188", "168288", "168388", "168488", "201988", "168588", "168688",
"168788", "168888", "168988", "169088", "169188", "169288", "169488", "169588", "169688", "169788",
"169888", "169988", "170088", "170188", "170288", "170388", "170488", "170588", "170688", "170788",
"170888", "170988", "171088", "171188", "171288", "171388", "171488", "171588", "171688", "171788",
"171988", "172088", "172188", "172288", "172388", "172488", "172588", "172688", "172788", "172888",
"173088", "172988", "173188", "173288", "173388", "206988", "207088", "173488", "207188", "207288",
"207388", "207488", "207788", "207888", "207988", "207588", "207688", "208088", "173588", "202088",
"208288", "173688", "208388", "208488", "208588", "173788", "208688", "173888", "208788", "173988",
"208988", "174088", "209088", "209388", "174288", "209488", "202188", "174388", "174488", "174588",
"174688", "174788", "174888", "174988", "175088", "175188", "175288", "175388", "175488", "175588",
"175688", "175788", "175888", "175988", "176088", "176188", "176288", "176388", "176488", "176588",
"176688", "176788", "176888", "176988", "177088", "177188", "177288", "177388", "177488", "177588",
"177688", "177788", "177888", "177988", "178088", "178188", "178288", "178388", "178488", "202288",
"178588", "178688", "178788", "178888", "178988", "179088", "179188", "179288", "179388", "179488",
"179588", "179688", "179788", "179888", "179988", "180088", "180188", "180288", "180388", "180488",
"202388", "183788", "180588", "203588", "180688", "191988" };
public static void main(String[] args) throws Exception {
final int nThreads = 200;
long n = System.nanoTime();
Thread[] th = new Thread[nThreads];
for (int t = 0; t < nThreads; t++) {
Thread thread = new Thread() {
@Override
public void run() {
try (Connection c = DriverManager.getConnection("jdbc:h2:./test;MV_STORE=FALSE")) {
String query = "WITH cte(tsn,name,type,parent) as (\n" + //
" select\n" + //
" tsn,name,type,parent\n" + //
" from taxnum\n" + //
" WHERE tsn = ?\n" + //
" union all\n" + //
" select\n" + //
" txn.tsn,txn.name,txn.type,txn.parent\n" + //
" from taxnum txn\n" + //
" inner join cte cte\n" + //
" on txn.tsn = cte.parent\n" + //
" where cte.parent is not null\n" + //
")\n" + //
"SELECT tsn,name,type FROM cte";
PreparedStatement ps = c.prepareStatement(query);
Random r = new Random();
for (int i = 0; i < 100; i++) {
int idx = r.nextInt(A.length);
ps.setString(1, A[idx]);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
rs.getString(1);
rs.getString(2);
rs.getString(3);
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
};
th[t] = thread;
}
for (int i = 0; i < nThreads; i++) {
th[i].start();
}
for (int i = 0; i < nThreads; i++) {
th[i].join();
}
System.out.println((System.nanoTime() - n) * 1e-9);
}
}