litedbmodel 2.2.3 → 2.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +6 -41
- package/dist/scp/index.cjs +7 -42
- package/dist/scp/index.d.ts +1 -1
- package/dist/scp/index.d.ts.map +1 -1
- package/dist/scp/index.js.map +1 -1
- package/dist/scp/index.mjs +7 -42
- package/dist/scp/makesql/index.d.ts +1 -1
- package/dist/scp/makesql/index.d.ts.map +1 -1
- package/dist/scp/makesql/index.js.map +1 -1
- package/dist/scp/makesql/tx.d.ts +20 -24
- package/dist/scp/makesql/tx.d.ts.map +1 -1
- package/dist/scp/makesql/tx.js +24 -53
- package/dist/scp/makesql/tx.js.map +1 -1
- package/dist/scp/makesql/writeouttype.d.ts +5 -7
- package/dist/scp/makesql/writeouttype.d.ts.map +1 -1
- package/dist/scp/makesql/writeouttype.js +13 -19
- package/dist/scp/makesql/writeouttype.js.map +1 -1
- package/dist/scp/write-bundle.js +1 -1
- package/dist/scp/write-bundle.js.map +1 -1
- package/docs/BENCHMARK.md +26 -22
- package/docs/COMPARISON.md +8 -4
- package/docs/api/README.md +1 -1
- package/docs/api/classes/Conditions.md +10 -10
- package/docs/api/classes/DBHandler.md +17 -17
- package/docs/api/classes/DBModel.md +111 -104
- package/docs/api/classes/LimitExceededError.md +8 -8
- package/docs/api/classes/Middleware.md +18 -18
- package/docs/api/classes/SqlRaw.md +6 -6
- package/docs/api/classes/SqlRef.md +7 -7
- package/docs/api/classes/Values.md +6 -6
- package/docs/api/classes/WriteInReadOnlyContextError.md +5 -5
- package/docs/api/classes/WriteOutsideTransactionError.md +5 -5
- package/docs/api/functions/belongsTo.md +2 -2
- package/docs/api/functions/closeAllPools.md +2 -2
- package/docs/api/functions/condsToRecord.md +2 -2
- package/docs/api/functions/createMiddleware.md +2 -2
- package/docs/api/functions/createPostgresDriver.md +2 -2
- package/docs/api/functions/createSqliteDriver.md +2 -2
- package/docs/api/functions/dbCast.md +3 -3
- package/docs/api/functions/dbCastIn.md +2 -2
- package/docs/api/functions/dbDynamic.md +3 -3
- package/docs/api/functions/dbFalse.md +2 -2
- package/docs/api/functions/dbImmediate.md +2 -2
- package/docs/api/functions/dbIn.md +2 -2
- package/docs/api/functions/dbNotNull.md +2 -2
- package/docs/api/functions/dbNow.md +2 -2
- package/docs/api/functions/dbNull.md +2 -2
- package/docs/api/functions/dbRaw.md +2 -2
- package/docs/api/functions/dbTrue.md +2 -2
- package/docs/api/functions/dbUuid.md +3 -3
- package/docs/api/functions/dbUuidIn.md +2 -2
- package/docs/api/functions/formatLocalDate.md +25 -0
- package/docs/api/functions/formatUTCDate.md +25 -0
- package/docs/api/functions/getDBConfig.md +2 -2
- package/docs/api/functions/getDBHandler.md +2 -2
- package/docs/api/functions/getTransactionConnection.md +2 -2
- package/docs/api/functions/getTransactionContext.md +2 -2
- package/docs/api/functions/hasMany.md +2 -2
- package/docs/api/functions/hasOne.md +2 -2
- package/docs/api/functions/initDBHandler.md +2 -2
- package/docs/api/functions/isAnySqlFragment.md +2 -2
- package/docs/api/functions/isConnectionError.md +26 -0
- package/docs/api/functions/isSqlCondition.md +2 -2
- package/docs/api/functions/isSqlFragment.md +2 -2
- package/docs/api/functions/isSqlRaw.md +2 -2
- package/docs/api/functions/isSqlRef.md +2 -2
- package/docs/api/functions/isSqlTypedFragment.md +2 -2
- package/docs/api/functions/model.md +6 -42
- package/docs/api/functions/parentRef.md +2 -2
- package/docs/api/functions/sql.md +7 -7
- package/docs/api/globals.md +57 -22
- package/docs/api/interfaces/Column.md +31 -31
- package/docs/api/interfaces/ColumnOptions.md +5 -4
- package/docs/api/interfaces/CreatedMiddlewareClass.md +7 -7
- package/docs/api/interfaces/DBConfig.md +13 -11
- package/docs/api/interfaces/DBConfigOptions.md +8 -8
- package/docs/api/interfaces/DeleteOptions.md +4 -4
- package/docs/api/interfaces/InsertOptions.md +8 -8
- package/docs/api/interfaces/LimitConfig.md +4 -4
- package/docs/api/interfaces/MiddlewareConfig.md +15 -15
- package/docs/api/interfaces/ModelOptions.md +8 -7
- package/docs/api/interfaces/PkeyResult.md +4 -4
- package/docs/api/interfaces/SelectOptions.md +17 -16
- package/docs/api/interfaces/SqlCondition.md +6 -6
- package/docs/api/interfaces/SqlFragment.md +5 -5
- package/docs/api/interfaces/SqlTypedFragment.md +7 -7
- package/docs/api/interfaces/TransactionOptions.md +7 -7
- package/docs/api/interfaces/UpdateManyOptions.md +4 -4
- package/docs/api/interfaces/UpdateOptions.md +4 -4
- package/docs/benchmark-chart.svg +225 -249
- package/package.json +8 -4
package/docs/benchmark-chart.svg
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
<!-- Title -->
|
|
21
21
|
<text x="385" y="25" text-anchor="middle" class="title">ORM Benchmark Comparison</text>
|
|
22
|
-
<text x="385" y="45" text-anchor="middle" class="subtitle">Relative speed (litedbmodel = 1.0, lower is faster)</text>
|
|
22
|
+
<text x="385" y="45" text-anchor="middle" class="subtitle">Relative speed (litedbmodel (runtime) = 1.0, lower is faster)</text>
|
|
23
23
|
|
|
24
24
|
<!-- Chart area -->
|
|
25
25
|
<g transform="translate(220, 60)">
|
|
@@ -47,279 +47,255 @@
|
|
|
47
47
|
<text x="405" y="2289" text-anchor="start" class="axis-label" fill="#dc2626">5+</text>
|
|
48
48
|
<line x1="80" y1="-5" x2="80" y2="2279" class="baseline" />
|
|
49
49
|
<text x="-10" y="48" text-anchor="end" dominant-baseline="middle" class="op-label">Find all (limit 100)</text>
|
|
50
|
-
<rect x="0" y="0" width="
|
|
51
|
-
<text x="
|
|
52
|
-
<rect x="0" y="16" width="
|
|
53
|
-
<text x="
|
|
54
|
-
<rect x="0" y="32" width="
|
|
55
|
-
<text x="
|
|
56
|
-
<rect x="0" y="48" width="
|
|
57
|
-
<text x="
|
|
58
|
-
<rect x="0" y="64" width="
|
|
59
|
-
<text x="
|
|
60
|
-
<rect x="0" y="80" width="
|
|
61
|
-
<text x="
|
|
50
|
+
<rect x="0" y="0" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
51
|
+
<text x="85" y="7" dominant-baseline="middle" class="value-label">1.00x (0.48ms)</text>
|
|
52
|
+
<rect x="0" y="16" width="114.99999999999999" height="12" fill="#0ea5e9" rx="2" />
|
|
53
|
+
<text x="119.99999999999999" y="23" dominant-baseline="middle" class="value-label">1.44x (0.69ms)</text>
|
|
54
|
+
<rect x="0" y="32" width="153.33333333333334" height="12" fill="#22c55e" rx="2" />
|
|
55
|
+
<text x="158.33333333333334" y="39" dominant-baseline="middle" class="value-label">1.92x (0.92ms)</text>
|
|
56
|
+
<rect x="0" y="48" width="96.66666666666666" height="12" fill="#f59e0b" rx="2" />
|
|
57
|
+
<text x="101.66666666666666" y="55" dominant-baseline="middle" class="value-label">1.21x (0.58ms)</text>
|
|
58
|
+
<rect x="0" y="64" width="123.33333333333334" height="12" fill="#ef4444" rx="2" />
|
|
59
|
+
<text x="128.33333333333334" y="71" dominant-baseline="middle" class="value-label">1.54x (0.74ms)</text>
|
|
60
|
+
<rect x="0" y="80" width="193.33333333333331" height="12" fill="#8b5cf6" rx="2" />
|
|
61
|
+
<text x="198.33333333333331" y="87" dominant-baseline="middle" class="value-label">2.42x (1.16ms)</text>
|
|
62
62
|
<text x="-10" y="169" text-anchor="end" dominant-baseline="middle" class="op-label">Filter, paginate & sort</text>
|
|
63
|
-
<rect x="0" y="121" width="
|
|
64
|
-
<text x="
|
|
65
|
-
<rect x="0" y="137" width="
|
|
66
|
-
<text x="
|
|
67
|
-
<rect x="0" y="153" width="
|
|
68
|
-
<text x="
|
|
69
|
-
<rect x="0" y="169" width="
|
|
70
|
-
<text x="
|
|
71
|
-
<rect x="0" y="185" width="
|
|
72
|
-
<text x="
|
|
73
|
-
<rect x="0" y="201" width="
|
|
74
|
-
<text x="
|
|
63
|
+
<rect x="0" y="121" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
64
|
+
<text x="85" y="128" dominant-baseline="middle" class="value-label">1.00x (0.68ms)</text>
|
|
65
|
+
<rect x="0" y="137" width="81.17647058823529" height="12" fill="#0ea5e9" rx="2" />
|
|
66
|
+
<text x="86.17647058823529" y="144" dominant-baseline="middle" class="value-label">1.01x (0.69ms)</text>
|
|
67
|
+
<rect x="0" y="153" width="88.23529411764704" height="12" fill="#22c55e" rx="2" />
|
|
68
|
+
<text x="93.23529411764704" y="160" dominant-baseline="middle" class="value-label">1.10x (0.75ms)</text>
|
|
69
|
+
<rect x="0" y="169" width="109.41176470588236" height="12" fill="#f59e0b" rx="2" />
|
|
70
|
+
<text x="114.41176470588236" y="176" dominant-baseline="middle" class="value-label">1.37x (0.93ms)</text>
|
|
71
|
+
<rect x="0" y="185" width="117.64705882352939" height="12" fill="#ef4444" rx="2" />
|
|
72
|
+
<text x="122.64705882352939" y="192" dominant-baseline="middle" class="value-label">1.47x (1.00ms)</text>
|
|
73
|
+
<rect x="0" y="201" width="114.11764705882352" height="12" fill="#8b5cf6" rx="2" />
|
|
74
|
+
<text x="119.11764705882352" y="208" dominant-baseline="middle" class="value-label">1.43x (0.97ms)</text>
|
|
75
75
|
<text x="-10" y="290" text-anchor="end" dominant-baseline="middle" class="op-label">Nested find all (include posts)</text>
|
|
76
|
-
<rect x="0" y="242" width="
|
|
77
|
-
<text x="
|
|
78
|
-
<rect x="0" y="258" width="
|
|
79
|
-
<text x="
|
|
80
|
-
<rect x="0" y="274" width="
|
|
81
|
-
<text x="
|
|
82
|
-
<rect x="0" y="290" width="
|
|
83
|
-
<text x="
|
|
84
|
-
<rect x="0" y="306" width="
|
|
85
|
-
<
|
|
86
|
-
<
|
|
87
|
-
<text x="
|
|
88
|
-
<rect x="0" y="322" width="400" height="12" fill="#8b5cf6" rx="2" />
|
|
89
|
-
<line x1="397" y1="322" x2="400" y2="334" class="overflow-line" />
|
|
90
|
-
<line x1="394" y1="322" x2="397" y2="334" class="overflow-line" />
|
|
91
|
-
<text x="405" y="329" dominant-baseline="middle" class="value-overflow">⚠️ 9.62x (9.62ms)</text>
|
|
76
|
+
<rect x="0" y="242" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
77
|
+
<text x="85" y="249" dominant-baseline="middle" class="value-label">1.00x (2.39ms)</text>
|
|
78
|
+
<rect x="0" y="258" width="75.31380753138075" height="12" fill="#0ea5e9" rx="2" />
|
|
79
|
+
<text x="80.31380753138075" y="265" dominant-baseline="middle" class="value-label">0.94x (2.25ms)</text>
|
|
80
|
+
<rect x="0" y="274" width="103.43096234309621" height="12" fill="#22c55e" rx="2" />
|
|
81
|
+
<text x="108.43096234309621" y="281" dominant-baseline="middle" class="value-label">1.29x (3.09ms)</text>
|
|
82
|
+
<rect x="0" y="290" width="100.75313807531381" height="12" fill="#f59e0b" rx="2" />
|
|
83
|
+
<text x="105.75313807531381" y="297" dominant-baseline="middle" class="value-label">1.26x (3.01ms)</text>
|
|
84
|
+
<rect x="0" y="306" width="214.56066945606693" height="12" fill="#ef4444" rx="2" />
|
|
85
|
+
<text x="219.56066945606693" y="313" dominant-baseline="middle" class="value-label">2.68x (6.41ms)</text>
|
|
86
|
+
<rect x="0" y="322" width="321.673640167364" height="12" fill="#8b5cf6" rx="2" />
|
|
87
|
+
<text x="326.673640167364" y="329" dominant-baseline="middle" class="value-label">4.02x (9.61ms)</text>
|
|
92
88
|
<text x="-10" y="411" text-anchor="end" dominant-baseline="middle" class="op-label">Find first</text>
|
|
93
|
-
<rect x="0" y="363" width="
|
|
94
|
-
<text x="
|
|
95
|
-
<rect x="0" y="379" width="
|
|
96
|
-
<text x="
|
|
97
|
-
<rect x="0" y="395" width="
|
|
98
|
-
<text x="
|
|
99
|
-
<rect x="0" y="411" width="
|
|
100
|
-
<text x="
|
|
101
|
-
<rect x="0" y="427" width="
|
|
102
|
-
<text x="
|
|
103
|
-
<rect x="0" y="443" width="
|
|
104
|
-
<text x="
|
|
89
|
+
<rect x="0" y="363" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
90
|
+
<text x="85" y="370" dominant-baseline="middle" class="value-label">1.00x (0.38ms)</text>
|
|
91
|
+
<rect x="0" y="379" width="82.10526315789475" height="12" fill="#0ea5e9" rx="2" />
|
|
92
|
+
<text x="87.10526315789475" y="386" dominant-baseline="middle" class="value-label">1.03x (0.39ms)</text>
|
|
93
|
+
<rect x="0" y="395" width="69.47368421052632" height="12" fill="#22c55e" rx="2" />
|
|
94
|
+
<text x="74.47368421052632" y="402" dominant-baseline="middle" class="value-label">0.87x (0.33ms)</text>
|
|
95
|
+
<rect x="0" y="411" width="109.47368421052633" height="12" fill="#f59e0b" rx="2" />
|
|
96
|
+
<text x="114.47368421052633" y="418" dominant-baseline="middle" class="value-label">1.37x (0.52ms)</text>
|
|
97
|
+
<rect x="0" y="427" width="109.47368421052633" height="12" fill="#ef4444" rx="2" />
|
|
98
|
+
<text x="114.47368421052633" y="434" dominant-baseline="middle" class="value-label">1.37x (0.52ms)</text>
|
|
99
|
+
<rect x="0" y="443" width="111.57894736842107" height="12" fill="#8b5cf6" rx="2" />
|
|
100
|
+
<text x="116.57894736842107" y="450" dominant-baseline="middle" class="value-label">1.39x (0.53ms)</text>
|
|
105
101
|
<text x="-10" y="532" text-anchor="end" dominant-baseline="middle" class="op-label">Nested find first (include posts)</text>
|
|
106
|
-
<rect x="0" y="484" width="
|
|
107
|
-
<text x="
|
|
108
|
-
<rect x="0" y="500" width="
|
|
109
|
-
<text x="
|
|
110
|
-
<rect x="0" y="516" width="
|
|
111
|
-
<text x="
|
|
112
|
-
<rect x="0" y="532" width="
|
|
113
|
-
<text x="
|
|
114
|
-
<rect x="0" y="548" width="
|
|
115
|
-
<text x="
|
|
116
|
-
<rect x="0" y="564" width="
|
|
117
|
-
<text x="
|
|
102
|
+
<rect x="0" y="484" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
103
|
+
<text x="85" y="491" dominant-baseline="middle" class="value-label">1.00x (0.68ms)</text>
|
|
104
|
+
<rect x="0" y="500" width="103.52941176470587" height="12" fill="#0ea5e9" rx="2" />
|
|
105
|
+
<text x="108.52941176470587" y="507" dominant-baseline="middle" class="value-label">1.29x (0.88ms)</text>
|
|
106
|
+
<rect x="0" y="516" width="101.17647058823529" height="12" fill="#22c55e" rx="2" />
|
|
107
|
+
<text x="106.17647058823529" y="523" dominant-baseline="middle" class="value-label">1.26x (0.86ms)</text>
|
|
108
|
+
<rect x="0" y="532" width="99.99999999999997" height="12" fill="#f59e0b" rx="2" />
|
|
109
|
+
<text x="104.99999999999997" y="539" dominant-baseline="middle" class="value-label">1.25x (0.85ms)</text>
|
|
110
|
+
<rect x="0" y="548" width="94.11764705882352" height="12" fill="#ef4444" rx="2" />
|
|
111
|
+
<text x="99.11764705882352" y="555" dominant-baseline="middle" class="value-label">1.18x (0.80ms)</text>
|
|
112
|
+
<rect x="0" y="564" width="115.29411764705881" height="12" fill="#8b5cf6" rx="2" />
|
|
113
|
+
<text x="120.29411764705881" y="571" dominant-baseline="middle" class="value-label">1.44x (0.98ms)</text>
|
|
118
114
|
<text x="-10" y="653" text-anchor="end" dominant-baseline="middle" class="op-label">Find unique (by email)</text>
|
|
119
|
-
<rect x="0" y="605" width="
|
|
120
|
-
<text x="
|
|
121
|
-
<rect x="0" y="621" width="
|
|
122
|
-
<text x="
|
|
123
|
-
<rect x="0" y="637" width="
|
|
124
|
-
<text x="
|
|
125
|
-
<rect x="0" y="653" width="
|
|
126
|
-
<text x="
|
|
127
|
-
<rect x="0" y="669" width="
|
|
128
|
-
<text x="
|
|
129
|
-
<rect x="0" y="685" width="
|
|
130
|
-
<text x="
|
|
115
|
+
<rect x="0" y="605" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
116
|
+
<text x="85" y="612" dominant-baseline="middle" class="value-label">1.00x (0.41ms)</text>
|
|
117
|
+
<rect x="0" y="621" width="68.29268292682926" height="12" fill="#0ea5e9" rx="2" />
|
|
118
|
+
<text x="73.29268292682926" y="628" dominant-baseline="middle" class="value-label">0.85x (0.35ms)</text>
|
|
119
|
+
<rect x="0" y="637" width="83.90243902439025" height="12" fill="#22c55e" rx="2" />
|
|
120
|
+
<text x="88.90243902439025" y="644" dominant-baseline="middle" class="value-label">1.05x (0.43ms)</text>
|
|
121
|
+
<rect x="0" y="653" width="91.70731707317073" height="12" fill="#f59e0b" rx="2" />
|
|
122
|
+
<text x="96.70731707317073" y="660" dominant-baseline="middle" class="value-label">1.15x (0.47ms)</text>
|
|
123
|
+
<rect x="0" y="669" width="113.17073170731706" height="12" fill="#ef4444" rx="2" />
|
|
124
|
+
<text x="118.17073170731706" y="676" dominant-baseline="middle" class="value-label">1.41x (0.58ms)</text>
|
|
125
|
+
<rect x="0" y="685" width="119.02439024390243" height="12" fill="#8b5cf6" rx="2" />
|
|
126
|
+
<text x="124.02439024390243" y="692" dominant-baseline="middle" class="value-label">1.49x (0.61ms)</text>
|
|
131
127
|
<text x="-10" y="774" text-anchor="end" dominant-baseline="middle" class="op-label">Nested find unique (include posts)</text>
|
|
132
|
-
<rect x="0" y="726" width="
|
|
133
|
-
<text x="
|
|
134
|
-
<rect x="0" y="742" width="
|
|
135
|
-
<text x="
|
|
136
|
-
<rect x="0" y="758" width="
|
|
137
|
-
<text x="
|
|
138
|
-
<rect x="0" y="774" width="
|
|
139
|
-
<text x="
|
|
140
|
-
<rect x="0" y="790" width="
|
|
141
|
-
<text x="
|
|
142
|
-
<rect x="0" y="806" width="
|
|
143
|
-
<text x="
|
|
128
|
+
<rect x="0" y="726" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
129
|
+
<text x="85" y="733" dominant-baseline="middle" class="value-label">1.00x (0.89ms)</text>
|
|
130
|
+
<rect x="0" y="742" width="82.69662921348315" height="12" fill="#0ea5e9" rx="2" />
|
|
131
|
+
<text x="87.69662921348315" y="749" dominant-baseline="middle" class="value-label">1.03x (0.92ms)</text>
|
|
132
|
+
<rect x="0" y="758" width="72.80898876404494" height="12" fill="#22c55e" rx="2" />
|
|
133
|
+
<text x="77.80898876404494" y="765" dominant-baseline="middle" class="value-label">0.91x (0.81ms)</text>
|
|
134
|
+
<rect x="0" y="774" width="76.40449438202246" height="12" fill="#f59e0b" rx="2" />
|
|
135
|
+
<text x="81.40449438202246" y="781" dominant-baseline="middle" class="value-label">0.96x (0.85ms)</text>
|
|
136
|
+
<rect x="0" y="790" width="122.24719101123598" height="12" fill="#ef4444" rx="2" />
|
|
137
|
+
<text x="127.24719101123598" y="797" dominant-baseline="middle" class="value-label">1.53x (1.36ms)</text>
|
|
138
|
+
<rect x="0" y="806" width="82.69662921348315" height="12" fill="#8b5cf6" rx="2" />
|
|
139
|
+
<text x="87.69662921348315" y="813" dominant-baseline="middle" class="value-label">1.03x (0.92ms)</text>
|
|
144
140
|
<text x="-10" y="895" text-anchor="end" dominant-baseline="middle" class="op-label">Create</text>
|
|
145
|
-
<rect x="0" y="847" width="
|
|
146
|
-
<text x="
|
|
147
|
-
<rect x="0" y="863" width="
|
|
148
|
-
<text x="
|
|
149
|
-
<rect x="0" y="879" width="
|
|
150
|
-
<text x="
|
|
151
|
-
<rect x="0" y="895" width="
|
|
152
|
-
<text x="
|
|
153
|
-
<rect x="0" y="911" width="
|
|
154
|
-
<text x="
|
|
155
|
-
<rect x="0" y="927" width="
|
|
156
|
-
<text x="
|
|
141
|
+
<rect x="0" y="847" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
142
|
+
<text x="85" y="854" dominant-baseline="middle" class="value-label">1.00x (0.80ms)</text>
|
|
143
|
+
<rect x="0" y="863" width="40" height="12" fill="#0ea5e9" rx="2" />
|
|
144
|
+
<text x="45" y="870" dominant-baseline="middle" class="value-label">0.50x (0.40ms)</text>
|
|
145
|
+
<rect x="0" y="879" width="89" height="12" fill="#22c55e" rx="2" />
|
|
146
|
+
<text x="94" y="886" dominant-baseline="middle" class="value-label">1.11x (0.89ms)</text>
|
|
147
|
+
<rect x="0" y="895" width="106.99999999999999" height="12" fill="#f59e0b" rx="2" />
|
|
148
|
+
<text x="111.99999999999999" y="902" dominant-baseline="middle" class="value-label">1.34x (1.07ms)</text>
|
|
149
|
+
<rect x="0" y="911" width="83.99999999999999" height="12" fill="#ef4444" rx="2" />
|
|
150
|
+
<text x="88.99999999999999" y="918" dominant-baseline="middle" class="value-label">1.05x (0.84ms)</text>
|
|
151
|
+
<rect x="0" y="927" width="102.99999999999999" height="12" fill="#8b5cf6" rx="2" />
|
|
152
|
+
<text x="107.99999999999999" y="934" dominant-baseline="middle" class="value-label">1.29x (1.03ms)</text>
|
|
157
153
|
<text x="-10" y="1016" text-anchor="end" dominant-baseline="middle" class="op-label">Nested create (with post)</text>
|
|
158
|
-
<rect x="0" y="968" width="
|
|
159
|
-
<text x="
|
|
160
|
-
<rect x="0" y="984" width="
|
|
161
|
-
<text x="
|
|
162
|
-
<rect x="0" y="1000" width="
|
|
163
|
-
<text x="
|
|
164
|
-
<rect x="0" y="1016" width="
|
|
165
|
-
<text x="
|
|
166
|
-
<rect x="0" y="1032" width="
|
|
167
|
-
<text x="
|
|
168
|
-
<rect x="0" y="1048" width="
|
|
169
|
-
<text x="
|
|
154
|
+
<rect x="0" y="968" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
155
|
+
<text x="85" y="975" dominant-baseline="middle" class="value-label">1.00x (1.00ms)</text>
|
|
156
|
+
<rect x="0" y="984" width="93.6" height="12" fill="#0ea5e9" rx="2" />
|
|
157
|
+
<text x="98.6" y="991" dominant-baseline="middle" class="value-label">1.17x (1.17ms)</text>
|
|
158
|
+
<rect x="0" y="1000" width="80.80000000000001" height="12" fill="#22c55e" rx="2" />
|
|
159
|
+
<text x="85.80000000000001" y="1007" dominant-baseline="middle" class="value-label">1.01x (1.01ms)</text>
|
|
160
|
+
<rect x="0" y="1016" width="97.6" height="12" fill="#f59e0b" rx="2" />
|
|
161
|
+
<text x="102.6" y="1023" dominant-baseline="middle" class="value-label">1.22x (1.22ms)</text>
|
|
162
|
+
<rect x="0" y="1032" width="111.99999999999999" height="12" fill="#ef4444" rx="2" />
|
|
163
|
+
<text x="116.99999999999999" y="1039" dominant-baseline="middle" class="value-label">1.40x (1.40ms)</text>
|
|
164
|
+
<rect x="0" y="1048" width="141.6" height="12" fill="#8b5cf6" rx="2" />
|
|
165
|
+
<text x="146.6" y="1055" dominant-baseline="middle" class="value-label">1.77x (1.77ms)</text>
|
|
170
166
|
<text x="-10" y="1137" text-anchor="end" dominant-baseline="middle" class="op-label">Update</text>
|
|
171
|
-
<rect x="0" y="1089" width="
|
|
172
|
-
<text x="
|
|
173
|
-
<rect x="0" y="1105" width="
|
|
174
|
-
<text x="
|
|
175
|
-
<rect x="0" y="1121" width="
|
|
176
|
-
<text x="
|
|
177
|
-
<rect x="0" y="1137" width="
|
|
178
|
-
<text x="
|
|
179
|
-
<rect x="0" y="1153" width="
|
|
180
|
-
<text x="
|
|
181
|
-
<rect x="0" y="1169" width="
|
|
182
|
-
<text x="
|
|
167
|
+
<rect x="0" y="1089" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
168
|
+
<text x="85" y="1096" dominant-baseline="middle" class="value-label">1.00x (0.84ms)</text>
|
|
169
|
+
<rect x="0" y="1105" width="38.0952380952381" height="12" fill="#0ea5e9" rx="2" />
|
|
170
|
+
<text x="43.0952380952381" y="1112" dominant-baseline="middle" class="value-label">0.48x (0.40ms)</text>
|
|
171
|
+
<rect x="0" y="1121" width="84.76190476190476" height="12" fill="#22c55e" rx="2" />
|
|
172
|
+
<text x="89.76190476190476" y="1128" dominant-baseline="middle" class="value-label">1.06x (0.89ms)</text>
|
|
173
|
+
<rect x="0" y="1137" width="72.38095238095238" height="12" fill="#f59e0b" rx="2" />
|
|
174
|
+
<text x="77.38095238095238" y="1144" dominant-baseline="middle" class="value-label">0.90x (0.76ms)</text>
|
|
175
|
+
<rect x="0" y="1153" width="71.42857142857143" height="12" fill="#ef4444" rx="2" />
|
|
176
|
+
<text x="76.42857142857143" y="1160" dominant-baseline="middle" class="value-label">0.89x (0.75ms)</text>
|
|
177
|
+
<rect x="0" y="1169" width="114.28571428571428" height="12" fill="#8b5cf6" rx="2" />
|
|
178
|
+
<text x="119.28571428571428" y="1176" dominant-baseline="middle" class="value-label">1.43x (1.20ms)</text>
|
|
183
179
|
<text x="-10" y="1258" text-anchor="end" dominant-baseline="middle" class="op-label">Nested update (update user + post)</text>
|
|
184
|
-
<rect x="0" y="1210" width="
|
|
185
|
-
<text x="
|
|
186
|
-
<rect x="0" y="1226" width="
|
|
187
|
-
<text x="
|
|
188
|
-
<rect x="0" y="1242" width="
|
|
189
|
-
<text x="
|
|
190
|
-
<rect x="0" y="1258" width="
|
|
191
|
-
<text x="
|
|
192
|
-
<rect x="0" y="1274" width="
|
|
193
|
-
<text x="
|
|
194
|
-
<rect x="0" y="1290" width="
|
|
195
|
-
<text x="
|
|
180
|
+
<rect x="0" y="1210" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
181
|
+
<text x="85" y="1217" dominant-baseline="middle" class="value-label">1.00x (1.22ms)</text>
|
|
182
|
+
<rect x="0" y="1226" width="79.34426229508198" height="12" fill="#0ea5e9" rx="2" />
|
|
183
|
+
<text x="84.34426229508198" y="1233" dominant-baseline="middle" class="value-label">0.99x (1.21ms)</text>
|
|
184
|
+
<rect x="0" y="1242" width="80" height="12" fill="#22c55e" rx="2" />
|
|
185
|
+
<text x="85" y="1249" dominant-baseline="middle" class="value-label">1.00x (1.22ms)</text>
|
|
186
|
+
<rect x="0" y="1258" width="76.0655737704918" height="12" fill="#f59e0b" rx="2" />
|
|
187
|
+
<text x="81.0655737704918" y="1265" dominant-baseline="middle" class="value-label">0.95x (1.16ms)</text>
|
|
188
|
+
<rect x="0" y="1274" width="74.75409836065573" height="12" fill="#ef4444" rx="2" />
|
|
189
|
+
<text x="79.75409836065573" y="1281" dominant-baseline="middle" class="value-label">0.93x (1.14ms)</text>
|
|
190
|
+
<rect x="0" y="1290" width="148.1967213114754" height="12" fill="#8b5cf6" rx="2" />
|
|
191
|
+
<text x="153.1967213114754" y="1297" dominant-baseline="middle" class="value-label">1.85x (2.26ms)</text>
|
|
196
192
|
<text x="-10" y="1379" text-anchor="end" dominant-baseline="middle" class="op-label">Upsert</text>
|
|
197
|
-
<rect x="0" y="1331" width="
|
|
198
|
-
<text x="
|
|
199
|
-
<rect x="0" y="1347" width="
|
|
200
|
-
<text x="
|
|
201
|
-
<rect x="0" y="1363" width="
|
|
202
|
-
<text x="
|
|
203
|
-
<rect x="0" y="1379" width="
|
|
204
|
-
<text x="
|
|
205
|
-
<rect x="0" y="1395" width="
|
|
206
|
-
<text x="
|
|
207
|
-
<rect x="0" y="1411" width="
|
|
208
|
-
<text x="
|
|
193
|
+
<rect x="0" y="1331" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
194
|
+
<text x="85" y="1338" dominant-baseline="middle" class="value-label">1.00x (1.03ms)</text>
|
|
195
|
+
<rect x="0" y="1347" width="32.62135922330097" height="12" fill="#0ea5e9" rx="2" />
|
|
196
|
+
<text x="37.62135922330097" y="1354" dominant-baseline="middle" class="value-label">0.41x (0.42ms)</text>
|
|
197
|
+
<rect x="0" y="1363" width="65.24271844660194" height="12" fill="#22c55e" rx="2" />
|
|
198
|
+
<text x="70.24271844660194" y="1370" dominant-baseline="middle" class="value-label">0.82x (0.84ms)</text>
|
|
199
|
+
<rect x="0" y="1379" width="81.55339805825243" height="12" fill="#f59e0b" rx="2" />
|
|
200
|
+
<text x="86.55339805825243" y="1386" dominant-baseline="middle" class="value-label">1.02x (1.05ms)</text>
|
|
201
|
+
<rect x="0" y="1395" width="89.32038834951456" height="12" fill="#ef4444" rx="2" />
|
|
202
|
+
<text x="94.32038834951456" y="1402" dominant-baseline="middle" class="value-label">1.12x (1.15ms)</text>
|
|
203
|
+
<rect x="0" y="1411" width="149.126213592233" height="12" fill="#8b5cf6" rx="2" />
|
|
204
|
+
<text x="154.126213592233" y="1418" dominant-baseline="middle" class="value-label">1.86x (1.92ms)</text>
|
|
209
205
|
<text x="-10" y="1500" text-anchor="end" dominant-baseline="middle" class="op-label">Nested upsert (user + post)</text>
|
|
210
|
-
<rect x="0" y="1452" width="
|
|
211
|
-
<text x="
|
|
212
|
-
<rect x="0" y="1468" width="
|
|
213
|
-
<text x="
|
|
214
|
-
<rect x="0" y="1484" width="
|
|
215
|
-
<text x="
|
|
216
|
-
<rect x="0" y="1500" width="
|
|
217
|
-
<text x="
|
|
218
|
-
<rect x="0" y="1516" width="
|
|
219
|
-
<text x="
|
|
220
|
-
<rect x="0" y="1532" width="
|
|
221
|
-
<text x="
|
|
206
|
+
<rect x="0" y="1452" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
207
|
+
<text x="85" y="1459" dominant-baseline="middle" class="value-label">1.00x (1.49ms)</text>
|
|
208
|
+
<rect x="0" y="1468" width="66.04026845637584" height="12" fill="#0ea5e9" rx="2" />
|
|
209
|
+
<text x="71.04026845637584" y="1475" dominant-baseline="middle" class="value-label">0.83x (1.23ms)</text>
|
|
210
|
+
<rect x="0" y="1484" width="59.06040268456376" height="12" fill="#22c55e" rx="2" />
|
|
211
|
+
<text x="64.06040268456377" y="1491" dominant-baseline="middle" class="value-label">0.74x (1.10ms)</text>
|
|
212
|
+
<rect x="0" y="1500" width="74.63087248322148" height="12" fill="#f59e0b" rx="2" />
|
|
213
|
+
<text x="79.63087248322148" y="1507" dominant-baseline="middle" class="value-label">0.93x (1.39ms)</text>
|
|
214
|
+
<rect x="0" y="1516" width="69.26174496644296" height="12" fill="#ef4444" rx="2" />
|
|
215
|
+
<text x="74.26174496644296" y="1523" dominant-baseline="middle" class="value-label">0.87x (1.29ms)</text>
|
|
216
|
+
<rect x="0" y="1532" width="112.21476510067112" height="12" fill="#8b5cf6" rx="2" />
|
|
217
|
+
<text x="117.21476510067112" y="1539" dominant-baseline="middle" class="value-label">1.40x (2.09ms)</text>
|
|
222
218
|
<text x="-10" y="1621" text-anchor="end" dominant-baseline="middle" class="op-label">Delete</text>
|
|
223
|
-
<rect x="0" y="1573" width="
|
|
224
|
-
<text x="
|
|
225
|
-
<rect x="0" y="1589" width="
|
|
226
|
-
<text x="
|
|
227
|
-
<rect x="0" y="1605" width="
|
|
228
|
-
<text x="
|
|
229
|
-
<rect x="0" y="1621" width="
|
|
230
|
-
<text x="
|
|
231
|
-
<rect x="0" y="1637" width="
|
|
232
|
-
<text x="
|
|
233
|
-
<rect x="0" y="1653" width="
|
|
234
|
-
<text x="
|
|
219
|
+
<rect x="0" y="1573" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
220
|
+
<text x="85" y="1580" dominant-baseline="middle" class="value-label">1.00x (1.24ms)</text>
|
|
221
|
+
<rect x="0" y="1589" width="68.38709677419355" height="12" fill="#0ea5e9" rx="2" />
|
|
222
|
+
<text x="73.38709677419355" y="1596" dominant-baseline="middle" class="value-label">0.85x (1.06ms)</text>
|
|
223
|
+
<rect x="0" y="1605" width="78.70967741935485" height="12" fill="#22c55e" rx="2" />
|
|
224
|
+
<text x="83.70967741935485" y="1612" dominant-baseline="middle" class="value-label">0.98x (1.22ms)</text>
|
|
225
|
+
<rect x="0" y="1621" width="82.58064516129032" height="12" fill="#f59e0b" rx="2" />
|
|
226
|
+
<text x="87.58064516129032" y="1628" dominant-baseline="middle" class="value-label">1.03x (1.28ms)</text>
|
|
227
|
+
<rect x="0" y="1637" width="81.93548387096774" height="12" fill="#ef4444" rx="2" />
|
|
228
|
+
<text x="86.93548387096774" y="1644" dominant-baseline="middle" class="value-label">1.02x (1.27ms)</text>
|
|
229
|
+
<rect x="0" y="1653" width="96.12903225806451" height="12" fill="#8b5cf6" rx="2" />
|
|
230
|
+
<text x="101.12903225806451" y="1660" dominant-baseline="middle" class="value-label">1.20x (1.49ms)</text>
|
|
235
231
|
<text x="-10" y="1742" text-anchor="end" dominant-baseline="middle" class="op-label">Create Many (10 records)</text>
|
|
236
|
-
<rect x="0" y="1694" width="
|
|
237
|
-
<text x="
|
|
238
|
-
<rect x="0" y="1710" width="
|
|
239
|
-
<text x="
|
|
240
|
-
<rect x="0" y="1726" width="
|
|
241
|
-
<text x="
|
|
242
|
-
<rect x="0" y="1742" width="
|
|
243
|
-
<text x="
|
|
244
|
-
<rect x="0" y="1758" width="
|
|
245
|
-
<text x="
|
|
246
|
-
<rect x="0" y="1774" width="
|
|
247
|
-
<text x="
|
|
232
|
+
<rect x="0" y="1694" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
233
|
+
<text x="85" y="1701" dominant-baseline="middle" class="value-label">1.00x (1.10ms)</text>
|
|
234
|
+
<rect x="0" y="1710" width="41.454545454545446" height="12" fill="#0ea5e9" rx="2" />
|
|
235
|
+
<text x="46.454545454545446" y="1717" dominant-baseline="middle" class="value-label">0.52x (0.57ms)</text>
|
|
236
|
+
<rect x="0" y="1726" width="68.36363636363635" height="12" fill="#22c55e" rx="2" />
|
|
237
|
+
<text x="73.36363636363635" y="1733" dominant-baseline="middle" class="value-label">0.85x (0.94ms)</text>
|
|
238
|
+
<rect x="0" y="1742" width="74.9090909090909" height="12" fill="#f59e0b" rx="2" />
|
|
239
|
+
<text x="79.9090909090909" y="1749" dominant-baseline="middle" class="value-label">0.94x (1.03ms)</text>
|
|
240
|
+
<rect x="0" y="1758" width="98.9090909090909" height="12" fill="#ef4444" rx="2" />
|
|
241
|
+
<text x="103.9090909090909" y="1765" dominant-baseline="middle" class="value-label">1.24x (1.36ms)</text>
|
|
242
|
+
<rect x="0" y="1774" width="86.54545454545455" height="12" fill="#8b5cf6" rx="2" />
|
|
243
|
+
<text x="91.54545454545455" y="1781" dominant-baseline="middle" class="value-label">1.08x (1.19ms)</text>
|
|
248
244
|
<text x="-10" y="1863" text-anchor="end" dominant-baseline="middle" class="op-label">Upsert Many (10 records)</text>
|
|
249
|
-
<rect x="0" y="1815" width="
|
|
250
|
-
<text x="
|
|
251
|
-
<rect x="0" y="1831" width="36.
|
|
252
|
-
<text x="41.
|
|
253
|
-
<rect x="0" y="1847" width="
|
|
254
|
-
<text x="
|
|
255
|
-
<rect x="0" y="1863" width="
|
|
256
|
-
<text x="
|
|
257
|
-
<rect x="0" y="1879" width="
|
|
258
|
-
<text x="
|
|
245
|
+
<rect x="0" y="1815" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
246
|
+
<text x="85" y="1822" dominant-baseline="middle" class="value-label">1.00x (1.45ms)</text>
|
|
247
|
+
<rect x="0" y="1831" width="36.41379310344828" height="12" fill="#0ea5e9" rx="2" />
|
|
248
|
+
<text x="41.41379310344828" y="1838" dominant-baseline="middle" class="value-label">0.46x (0.66ms)</text>
|
|
249
|
+
<rect x="0" y="1847" width="59.03448275862069" height="12" fill="#22c55e" rx="2" />
|
|
250
|
+
<text x="64.0344827586207" y="1854" dominant-baseline="middle" class="value-label">0.74x (1.07ms)</text>
|
|
251
|
+
<rect x="0" y="1863" width="83.31034482758622" height="12" fill="#f59e0b" rx="2" />
|
|
252
|
+
<text x="88.31034482758622" y="1870" dominant-baseline="middle" class="value-label">1.04x (1.51ms)</text>
|
|
253
|
+
<rect x="0" y="1879" width="86.62068965517243" height="12" fill="#ef4444" rx="2" />
|
|
254
|
+
<text x="91.62068965517243" y="1886" dominant-baseline="middle" class="value-label">1.08x (1.57ms)</text>
|
|
259
255
|
<rect x="0" y="1895" width="400" height="12" fill="#8b5cf6" rx="2" />
|
|
260
256
|
<line x1="397" y1="1895" x2="400" y2="1907" class="overflow-line" />
|
|
261
257
|
<line x1="394" y1="1895" x2="397" y2="1907" class="overflow-line" />
|
|
262
|
-
<text x="405" y="1902" dominant-baseline="middle" class="value-overflow">⚠️
|
|
258
|
+
<text x="405" y="1902" dominant-baseline="middle" class="value-overflow">⚠️ 6.65x (9.64ms)</text>
|
|
263
259
|
<text x="-10" y="1984" text-anchor="end" dominant-baseline="middle" class="op-label">Update Many (10 different values)</text>
|
|
264
|
-
<rect x="0" y="1936" width="
|
|
265
|
-
<text x="
|
|
266
|
-
<rect x="0" y="1952" width="
|
|
267
|
-
<text x="
|
|
268
|
-
<rect x="0" y="1968" width="
|
|
269
|
-
<text x="
|
|
270
|
-
<rect x="0" y="1984" width="
|
|
271
|
-
<text x="
|
|
272
|
-
<rect x="0" y="2000" width="
|
|
273
|
-
<text x="
|
|
274
|
-
<rect x="0" y="2016" width="
|
|
275
|
-
<text x="
|
|
260
|
+
<rect x="0" y="1936" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
261
|
+
<text x="85" y="1943" dominant-baseline="middle" class="value-label">1.00x (1.20ms)</text>
|
|
262
|
+
<rect x="0" y="1952" width="29.333333333333332" height="12" fill="#0ea5e9" rx="2" />
|
|
263
|
+
<text x="34.33333333333333" y="1959" dominant-baseline="middle" class="value-label">0.37x (0.44ms)</text>
|
|
264
|
+
<rect x="0" y="1968" width="161.33333333333331" height="12" fill="#22c55e" rx="2" />
|
|
265
|
+
<text x="166.33333333333331" y="1975" dominant-baseline="middle" class="value-label">2.02x (2.42ms)</text>
|
|
266
|
+
<rect x="0" y="1984" width="161.33333333333331" height="12" fill="#f59e0b" rx="2" />
|
|
267
|
+
<text x="166.33333333333331" y="1991" dominant-baseline="middle" class="value-label">2.02x (2.42ms)</text>
|
|
268
|
+
<rect x="0" y="2000" width="173.33333333333337" height="12" fill="#ef4444" rx="2" />
|
|
269
|
+
<text x="178.33333333333337" y="2007" dominant-baseline="middle" class="value-label">2.17x (2.60ms)</text>
|
|
270
|
+
<rect x="0" y="2016" width="322" height="12" fill="#8b5cf6" rx="2" />
|
|
271
|
+
<text x="327" y="2023" dominant-baseline="middle" class="value-label">4.03x (4.83ms)</text>
|
|
276
272
|
<text x="-10" y="2105" text-anchor="end" dominant-baseline="middle" class="op-label">Nested relations (100→1000→10000)</text>
|
|
277
|
-
<rect x="0" y="2057" width="
|
|
278
|
-
<
|
|
279
|
-
<
|
|
280
|
-
<text x="
|
|
281
|
-
<rect x="0" y="
|
|
282
|
-
<
|
|
283
|
-
<
|
|
284
|
-
<text x="
|
|
285
|
-
<rect x="0" y="
|
|
286
|
-
<
|
|
287
|
-
<line x1="394" y1="2089" x2="397" y2="2101" class="overflow-line" />
|
|
288
|
-
<text x="405" y="2096" dominant-baseline="middle" class="value-overflow">⚠️ 21.11x (21.11ms)</text>
|
|
289
|
-
<rect x="0" y="2105" width="400" height="12" fill="#f59e0b" rx="2" />
|
|
290
|
-
<line x1="397" y1="2105" x2="400" y2="2117" class="overflow-line" />
|
|
291
|
-
<line x1="394" y1="2105" x2="397" y2="2117" class="overflow-line" />
|
|
292
|
-
<text x="405" y="2112" dominant-baseline="middle" class="value-overflow">⚠️ 20.33x (20.33ms)</text>
|
|
293
|
-
<rect x="0" y="2121" width="400" height="12" fill="#ef4444" rx="2" />
|
|
294
|
-
<line x1="397" y1="2121" x2="400" y2="2133" class="overflow-line" />
|
|
295
|
-
<line x1="394" y1="2121" x2="397" y2="2133" class="overflow-line" />
|
|
296
|
-
<text x="405" y="2128" dominant-baseline="middle" class="value-overflow">⚠️ 74.04x (74.04ms)</text>
|
|
273
|
+
<rect x="0" y="2057" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
274
|
+
<text x="85" y="2064" dominant-baseline="middle" class="value-label">1.00x (14.83ms)</text>
|
|
275
|
+
<rect x="0" y="2073" width="97.69386378961563" height="12" fill="#0ea5e9" rx="2" />
|
|
276
|
+
<text x="102.69386378961563" y="2080" dominant-baseline="middle" class="value-label">1.22x (18.11ms)</text>
|
|
277
|
+
<rect x="0" y="2089" width="112.52865812542143" height="12" fill="#22c55e" rx="2" />
|
|
278
|
+
<text x="117.52865812542143" y="2096" dominant-baseline="middle" class="value-label">1.41x (20.86ms)</text>
|
|
279
|
+
<rect x="0" y="2105" width="110.64059339177344" height="12" fill="#f59e0b" rx="2" />
|
|
280
|
+
<text x="115.64059339177344" y="2112" dominant-baseline="middle" class="value-label">1.38x (20.51ms)</text>
|
|
281
|
+
<rect x="0" y="2121" width="388.8873904248146" height="12" fill="#ef4444" rx="2" />
|
|
282
|
+
<text x="393.8873904248146" y="2128" dominant-baseline="middle" class="value-label">4.86x (72.09ms)</text>
|
|
297
283
|
<rect x="0" y="2137" width="400" height="12" fill="#8b5cf6" rx="2" />
|
|
298
284
|
<line x1="397" y1="2137" x2="400" y2="2149" class="overflow-line" />
|
|
299
285
|
<line x1="394" y1="2137" x2="397" y2="2149" class="overflow-line" />
|
|
300
|
-
<text x="405" y="2144" dominant-baseline="middle" class="value-overflow">⚠️
|
|
286
|
+
<text x="405" y="2144" dominant-baseline="middle" class="value-overflow">⚠️ 5.58x (82.82ms)</text>
|
|
301
287
|
<text x="-10" y="2226" text-anchor="end" dominant-baseline="middle" class="op-label">Nested relations (composite key)</text>
|
|
302
|
-
<rect x="0" y="2178" width="
|
|
303
|
-
<
|
|
304
|
-
<
|
|
305
|
-
<text x="
|
|
306
|
-
<rect x="0" y="2194" width="400" height="12" fill="#0ea5e9" rx="2" />
|
|
307
|
-
<line x1="397" y1="2194" x2="400" y2="2206" class="overflow-line" />
|
|
308
|
-
<line x1="394" y1="2194" x2="397" y2="2206" class="overflow-line" />
|
|
309
|
-
<text x="405" y="2201" dominant-baseline="middle" class="value-overflow">⚠️ 23.97x (23.97ms)</text>
|
|
288
|
+
<rect x="0" y="2178" width="80" height="12" fill="#3b82f6" rx="2" />
|
|
289
|
+
<text x="85" y="2185" dominant-baseline="middle" class="value-label">1.00x (29.00ms)</text>
|
|
290
|
+
<rect x="0" y="2194" width="64.1655172413793" height="12" fill="#0ea5e9" rx="2" />
|
|
291
|
+
<text x="69.1655172413793" y="2201" dominant-baseline="middle" class="value-label">0.80x (23.26ms)</text>
|
|
310
292
|
<text x="5" y="2217" dominant-baseline="middle" class="na-text">N/A</text>
|
|
311
|
-
<rect x="0" y="2226" width="
|
|
312
|
-
<
|
|
313
|
-
<
|
|
314
|
-
<text x="
|
|
315
|
-
<rect x="0" y="
|
|
316
|
-
<
|
|
317
|
-
<line x1="394" y1="2242" x2="397" y2="2254" class="overflow-line" />
|
|
318
|
-
<text x="405" y="2249" dominant-baseline="middle" class="value-overflow">⚠️ 57.46x (57.46ms)</text>
|
|
319
|
-
<rect x="0" y="2258" width="400" height="12" fill="#8b5cf6" rx="2" />
|
|
320
|
-
<line x1="397" y1="2258" x2="400" y2="2270" class="overflow-line" />
|
|
321
|
-
<line x1="394" y1="2258" x2="397" y2="2270" class="overflow-line" />
|
|
322
|
-
<text x="405" y="2265" dominant-baseline="middle" class="value-overflow">⚠️ 83.78x (83.78ms)</text>
|
|
293
|
+
<rect x="0" y="2226" width="216.63448275862072" height="12" fill="#f59e0b" rx="2" />
|
|
294
|
+
<text x="221.63448275862072" y="2233" dominant-baseline="middle" class="value-label">2.71x (78.53ms)</text>
|
|
295
|
+
<rect x="0" y="2242" width="162.59310344827585" height="12" fill="#ef4444" rx="2" />
|
|
296
|
+
<text x="167.59310344827585" y="2249" dominant-baseline="middle" class="value-label">2.03x (58.94ms)</text>
|
|
297
|
+
<rect x="0" y="2258" width="227.94482758620686" height="12" fill="#8b5cf6" rx="2" />
|
|
298
|
+
<text x="232.94482758620686" y="2265" dominant-baseline="middle" class="value-label">2.85x (82.63ms)</text>
|
|
323
299
|
</g>
|
|
324
300
|
|
|
325
301
|
<!-- Legend -->
|