|
121 | 121 | $mysqli->query("INSERT INTO `bench_test`.`test` (name) VALUES " . implode(',', $values)); |
122 | 122 | return $i; |
123 | 123 | }, |
124 | | - 'update' => function ($multiplier = 1, $count = 50) use (&$mysqli) { |
| 124 | + 'update' => function ($multiplier = 1, $count = 1000) use (&$mysqli) { |
125 | 125 | if ($mysqli === null) { |
126 | 126 | return INF; |
127 | 127 | } |
128 | 128 |
|
129 | 129 | $count = $count * $multiplier; |
130 | 130 | $time = StopWatch::time(); |
131 | 131 | for ($i = 0; $i < $count; $i++) { |
132 | | - $mysqli->query("UPDATE `bench_test`.`test` SET name = 'test' WHERE id % 2 = 0"); |
| 132 | + $mysqli->query("UPDATE `bench_test`.`test` SET name = 'test' WHERE id = '$i'"); |
133 | 133 | } |
134 | 134 | extraStat('q/s', round($count / (StopWatch::time() - $time))); |
135 | 135 | return $i; |
136 | 136 | }, |
| 137 | + 'update_with_index' => function ($multiplier = 1, $count = 1000) use (&$mysqli) { |
| 138 | + if ($mysqli === null) { |
| 139 | + return INF; |
| 140 | + } |
| 141 | + |
| 142 | + $mysqli->query("CREATE INDEX idx ON `bench_test`.`test` (id)"); |
| 143 | + |
| 144 | + $count = $count * $multiplier; |
| 145 | + $time = StopWatch::time(); |
| 146 | + for ($i = 0; $i < $count; $i++) { |
| 147 | + $mysqli->query("UPDATE `bench_test`.`test` SET name = 'test' WHERE id = '$i'"); |
| 148 | + } |
| 149 | + extraStat('q/s', round($count / (StopWatch::time() - $time))); |
| 150 | + |
| 151 | + $mysqli->query("DROP INDEX idx ON `bench_test`.`test`"); |
| 152 | + return $i; |
| 153 | + }, |
137 | 154 | 'transaction_insert' => function ($multiplier = 1, $count = 1000) use (&$mysqli) { |
138 | 155 | if ($mysqli === null) { |
139 | 156 | return INF; |
|
187 | 204 | $stmt->close(); |
188 | 205 | return $i; |
189 | 206 | }, |
190 | | - 'indexes' => function ($multiplier = 1, $count = 100) use (&$mysqli) { |
| 207 | + 'indexes' => function ($multiplier = 1, $count = 1000) use (&$mysqli) { |
191 | 208 | if ($mysqli === null) { |
192 | 209 | return INF; |
193 | 210 | } |
|
196 | 213 | $mysqli->query("DROP INDEX idx_name ON `bench_test`.`test`"); |
197 | 214 | return 1; |
198 | 215 | }, |
199 | | - 'delete' => function ($multiplier = 1, $count = 100) use (&$mysqli) { |
| 216 | + 'delete' => function ($multiplier = 1, $count = 1000) use (&$mysqli) { |
200 | 217 | if ($mysqli === null) { |
201 | 218 | return INF; |
202 | 219 | } |
203 | 220 |
|
204 | 221 | $count = $count * $multiplier; |
205 | 222 | $time = StopWatch::time(); |
206 | 223 | for ($i = 0; $i < $count; $i++) { |
207 | | - $mysqli->query("DELETE FROM `bench_test`.`test` WHERE id % 2 = 0"); |
| 224 | + $mysqli->query("DELETE FROM `bench_test`.`test` WHERE id = '$i'"); |
208 | 225 | } |
209 | 226 | extraStat('q/s', round($count / (StopWatch::time() - $time))); |
210 | 227 | return $i; |
|
0 commit comments