![]() |
|< 1 2 >| | ![]() |
16 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
mysql> DESCRIBE testobject;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(10) | | PRI | NULL | auto_increment |
| col1 | int(64) | YES | | NULL | |
| col2 | varchar(64) | YES | | NULL | |
| col3 | varchar(128) | YES | | NULL | |
| col4 | text | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
5 rows in set (0.10 sec)
mysql>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my $host = 'server.lan.de';
my $database = 'benchmark_test';
my $user = 'benchmarker';
my $passwd = 'tester';
my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host;",$user,$passwd,{PrintError => 1, RaiseError => 1})
or die DBI::errstr;
my $sql = qq|
INSERT INTO testobject (col1,col2,col3,col4)
VALUES (
'127402341236478152304123840912364891263410234',
'lasdjfhoyxcv,asiwezrfbc,y<xfuzaweold<',
'asdlfkjhasldr8ahkjcvn yxlkurfhoiaeywuhcvnjkxnvliawuerzhdaiouwbcf<jasb c.k<asdhnfliawehfcvjk<nscdlöiauwehfv <',
'alsduzcnfhasldncrnhfasdklhcfalshrflauisec filbnsdlfkanacs f
alsducfhnalusehrnliuwhva nluise fhliudsncfhlaeuifhev uihfva enwfvad
acnselriu iuehrncao93zr89a nfdksjfhna lhd9f8a3znc chsildahsdf va
apsedzncf aszndhflah nsdfoahef kjahöahwüäruq 3hrf asdasdfn batweintr löwezt ösodihf vawe'
)
|;
for (0..100_000) {
print "Do $_ \n";
$dbh->do($sql) or die DBI::errstr;
}
exit;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use Benchmark;
my $host = 'server.lan.de';
my $database = 'benchmark_test';
my $user = 'benchmarker';
my $passwd = 'tester';
timethese(5,
{
'Test mit Platzhaltern' => \&test_without,
'Test ohne Platzhalter' => \&test_with
}
);
sub test_without {
my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host;",$user,$passwd,{PrintError => 1, RaiseError => 1})
or die DBI::errstr;
my $sql = qq|
SELECT * FROM testobject WHERE col2 = 'lasdjfhoyxcv,asiwezrfbc,y<xfuzaweold<'
|;
my $sth = $dbh->prepare( $sql ) or die DBI::errstr;
for (0 .. 30) {
$sth->execute() or die DBI::errstr;
#print "Without: $_ \n";
}
$sth->finish();
$dbh->disconnect();
}
sub test_with {
my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host;",$user,$passwd,{PrintError => 1, RaiseError => 1})
or die DBI::errstr;
my $sql = qq|
SELECT * FROM testobject WHERE col2 = ?
|;
my $sth = $dbh->prepare( $sql ) or die DBI::errstr;
for (0 .. 30) {
$sth->execute('lasdjfhoyxcv,asiwezrfbc,y<xfuzaweold<') or die DBI::errstr;
#print "With $_ \n";
}
$sth->finish();
$dbh->disconnect()
}
1
2
3
4
5
format_c@linux:~/workspace/mysql_benchmark> perl benchmark.pl
Benchmark: timing 5 iterations of Test mit Platzhaltern, Test ohne Platzhalter...
Test mit Platzhaltern: 1889 wallclock secs (1226.64 usr + 312.65 sys = 1539.29 CPU) @ 0.00/s (n=5)
Test ohne Platzhalter: 2001 wallclock secs (1225.97 usr + 314.94 sys = 1540.91 CPU) @ 0.00/s (n=5)
format_c@linux:~/workspace/mysql_benchmark>
![]() |
|< 1 2 >| | ![]() |
16 Einträge, 2 Seiten |