Commit 8dc9ddf9 authored by monty@donna.mysql.com's avatar monty@donna.mysql.com

Merge work:/my/mysql into donna.mysql.com:/home/my/bk/mysql

parents e63aa638 2f632fd1
......@@ -4,6 +4,6 @@ make -k clean
aclocal; autoheader; aclocal; automake; autoconf
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex --enable-thread-safe-client
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex --enable-thread-safe-client "$@"
make -j 2
strip sql/mysqld
AM_MAKEFLAGS="-j 2"
make -k clean
/bin/rm -f */.deps/*.P config.cache
aclocal; autoheader; aclocal; automake; autoconf
export PATH=/usr/local/pgcc/bin:$PATH
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex --enable-thread-safe-client
make -j 2
strip sql/mysqld
This diff is collapsed.
This diff is collapsed.
......@@ -1254,8 +1254,7 @@ AC_CHECK_FUNCS(alarm bmove \
gethostbyaddr_r gethostbyname_r getpwnam \
bfill bzero bcmp strstr strpbrk strerror \
tell atod memcpy memmove \
setupterm strcasecmp sighold \
vidattr setupterm lrand48 localtime_r \
setupterm strcasecmp sighold vidattr lrand48 localtime_r \
sigset sigthreadmask pthread_sigmask pthread_setprio pthread_setprio_np \
pthread_setschedparam pthread_attr_setprio pthread_attr_setschedparam \
pthread_attr_create pthread_getsequence_np pthread_attr_setstacksize \
......
......@@ -378,9 +378,9 @@ extern gptr my_once_alloc(uint Size,myf MyFlags);
extern void my_once_free(void);
extern my_string my_tempnam(const char *dir,const char *pfx,myf MyFlags);
extern File my_open(const char *FileName,int Flags,myf MyFlags);
extern File my_register_filename(File fd, const char *FileName,
uint type_of_open, uint error_message_number,
myf MyFlags);
extern File my_register_filename(File fd, const char *FileName,
enum file_type type_of_file,
uint error_message_number, myf MyFlags);
extern File my_create(const char *FileName,int CreateFlags,
int AccsesFlags, myf MyFlags);
extern int my_close(File Filedes,myf MyFlags);
......
......@@ -88,6 +88,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
{
char prefix_buff[30];
uint pfx_len;
File org_file;
pfx_len=(strmov(strnmov(prefix_buff,
prefix ? prefix : "tmp.",
......@@ -101,7 +102,16 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
}
strmov(to,dir);
strmov(convert_dirname(to),prefix_buff);
file=mkstemp(to);
org_file=mkstemp(to);
file=my_register_filename(org_file, to, FILE_BY_MKSTEMP,
EE_CANTCREATEFILE, MyFlags);
/* If we didn't manage to register the name, remove the temp file */
if (org_file >= 0 && file < 0)
{
int tmp=my_errno;
(void) my_delete(to, MYF(MY_WME | ME_NOINPUT));
my_errno=tmp;
}
}
#elif defined(HAVE_TEMPNAM)
{
......
......@@ -59,39 +59,6 @@ File my_create(const char *FileName, int CreateFlags, int access_flags,
fd = open(FileName, access_flags);
#endif
if (fd >= 0)
{
if ((int) fd >= MY_NFILE)
{
#if defined(THREAD) && !defined(HAVE_PREAD)
(void) my_close(fd,MyFlags);
my_errno=EMFILE;
if (MyFlags & (MY_FFNF | MY_FAE | MY_WME))
my_error(EE_OUT_OF_FILERESOURCES, MYF(ME_BELL+ME_WAITTANG),
FileName, my_errno);
DBUG_RETURN(-1);
#else
thread_safe_increment(my_file_opened,&THR_LOCK_open);
DBUG_PRINT("exit",("fd: %d",fd));
DBUG_RETURN(fd); /* safeguard */
#endif
}
if ((my_file_info[fd].name = (char*) my_strdup(FileName,MyFlags)))
{
my_file_opened++;
my_file_info[fd].type = FILE_BY_CREATE;
#if defined(THREAD) && !defined(HAVE_PREAD)
pthread_mutex_init(&my_file_info[fd].mutex,NULL);
#endif
DBUG_PRINT("exit",("fd: %d",fd));
DBUG_RETURN(fd);
}
VOID(my_close(fd,MyFlags));
my_errno=ENOMEM;
}
else
my_errno=errno;
if (MyFlags & (MY_FFNF | MY_FAE | MY_WME))
my_error(EE_CANTCREATEFILE, MYF(ME_BELL+ME_WAITTANG), FileName,my_errno);
DBUG_RETURN(-1);
DBUG_RETURN(my_register_filename(fd, FileName, FILE_BY_CREATE,
EE_CANTCREATEFILE, MyFlags));
} /* my_create */
......@@ -47,7 +47,44 @@ File my_open(const char *FileName, int Flags, myf MyFlags)
#else
fd = open((my_string) FileName, Flags);
#endif
DBUG_RETURN(my_register_filename(fd, FileName, FILE_BY_OPEN,
EE_FILENOTFOUND, MyFlags));
} /* my_open */
/* Close a file */
int my_close(File fd, myf MyFlags)
{
int err;
DBUG_ENTER("my_close");
DBUG_PRINT("my",("fd: %d MyFlags: %d",fd, MyFlags));
pthread_mutex_lock(&THR_LOCK_open);
if ((err = close(fd)))
{
DBUG_PRINT("error",("Got error %d on close",err));
my_errno=errno;
if (MyFlags & (MY_FAE | MY_WME))
my_error(EE_BADCLOSE, MYF(ME_BELL+ME_WAITTANG),my_filename(fd),errno);
}
if ((uint) fd < MY_NFILE && my_file_info[fd].type != UNOPEN)
{
my_free(my_file_info[fd].name, MYF(0));
#if defined(THREAD) && !defined(HAVE_PREAD)
pthread_mutex_destroy(&my_file_info[fd].mutex);
#endif
my_file_info[fd].type = UNOPEN;
my_file_opened--;
}
pthread_mutex_unlock(&THR_LOCK_open);
DBUG_RETURN(err);
} /* my_close */
File my_register_filename(File fd, const char *FileName, enum file_type
type_of_file, uint error_message_number, myf MyFlags)
{
if ((int) fd >= 0)
{
if ((int) fd >= MY_NFILE)
......@@ -58,62 +95,33 @@ File my_open(const char *FileName, int Flags, myf MyFlags)
if (MyFlags & (MY_FFNF | MY_FAE | MY_WME))
my_error(EE_OUT_OF_FILERESOURCES, MYF(ME_BELL+ME_WAITTANG),
FileName, my_errno);
DBUG_RETURN(-1);
return(-1);
#else
thread_safe_increment(my_file_opened,&THR_LOCK_open);
#endif
DBUG_RETURN(fd); /* safeguard */
return(fd); /* safeguard */
}
pthread_mutex_lock(&THR_LOCK_open);
if ((my_file_info[fd].name = (char*) my_strdup(FileName,MyFlags)))
{
my_file_opened++;
my_file_info[fd].type = FILE_BY_OPEN;
my_file_info[fd].type = type_of_file;
#if defined(THREAD) && !defined(HAVE_PREAD)
pthread_mutex_init(&my_file_info[fd].mutex,NULL);
#endif
pthread_mutex_unlock(&THR_LOCK_open);
DBUG_PRINT("exit",("fd: %d",fd));
DBUG_RETURN(fd);
return(fd);
}
pthread_mutex_unlock(&THR_LOCK_open);
(void) my_close(fd,MyFlags);
(void) my_close(fd, MyFlags);
my_errno=ENOMEM;
}
else
my_errno=errno;
DBUG_PRINT("error",("Got error %d on open",my_errno));
if (MyFlags & (MY_FFNF | MY_FAE | MY_WME))
my_error(EE_FILENOTFOUND, MYF(ME_BELL+ME_WAITTANG), FileName,my_errno);
DBUG_RETURN(fd);
} /* my_open */
/* Close a file */
int my_close(File fd, myf MyFlags)
{
int err;
DBUG_ENTER("my_close");
DBUG_PRINT("my",("fd: %d MyFlags: %d",fd, MyFlags));
pthread_mutex_lock(&THR_LOCK_open);
if ((err = close(fd)))
{
DBUG_PRINT("error",("Got error %d on close",err));
my_errno=errno;
if (MyFlags & (MY_FAE | MY_WME))
my_error(EE_BADCLOSE, MYF(ME_BELL+ME_WAITTANG),my_filename(fd),errno);
}
if ((uint) fd < MY_NFILE && my_file_info[fd].type != UNOPEN)
{
my_free(my_file_info[fd].name, MYF(0));
#if defined(THREAD) && !defined(HAVE_PREAD)
pthread_mutex_destroy(&my_file_info[fd].mutex);
#endif
my_file_info[fd].type = UNOPEN;
my_file_opened--;
}
pthread_mutex_unlock(&THR_LOCK_open);
DBUG_RETURN(err);
} /* my_close */
my_error(error_message_number, MYF(ME_BELL+ME_WAITTANG),
FileName, my_errno);
return(fd);
}
......@@ -11,7 +11,7 @@ $opt_example = 0;
$opt_help = 0;
$opt_log = "/tmp/mysqld_multi.log";
$opt_mysqladmin = "mysqladmin";
$opt_mysqld = "mysqld";
$opt_mysqld = "@libexecdir@/mysqld";
$opt_no_log = 0;
$opt_password = undef();
$opt_tcp_ip = 0;
......@@ -497,41 +497,42 @@ sub example
# give you extra performance in a threaded system!
#
[mysqld_multi]
mysqld = /usr/local/bin/safe_mysqld
mysqladmin = /usr/local/bin/mysqladmin
mysqld = @bindir@/safe_mysqld
mysqladmin = @bindir@/mysqladmin
user = multi_admin
password = multipass
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/var2/hostname.pid2
datadir = /usr/local/mysql/var2
language = /usr/local/share/mysql/english
pid-file = @localstatedir@2/hostname.pid2
datadir = @localstatedir@2
language = @datadir@/mysql/english
user = john
[mysqld3]
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/var3/hostname.pid3
datadir = /usr/local/mysql/var3
language = /usr/local/share/mysql/swedish
pid-file = @localstatedir@3/hostname.pid3
datadir = @localstatedir@3
language = @datadir@/mysql/swedish
user = monty
[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/var4/hostname.pid4
datadir = /usr/local/mysql/var4
language = /usr/local/share/mysql/estonia
pid-file = @localstatedir@4/hostname.pid4
datadir = @localstatedir@4
language = @datadir@/mysql/estonia
user = tonu
[mysqld6]
socket = /tmp/mysql.sock6
port = 3311
pid-file = /usr/local/mysql/var6/hostname.pid6
datadir = /usr/local/mysql/var6
language = /usr/local/share/mysql/japanese
pid-file = @localstatedir@6/hostname.pid6
datadir = @localstatedir@6
language = @datadir@/mysql/japanese
user = jani
EOF
exit(0);
......
......@@ -247,5 +247,5 @@ do
echo "`date +'%y%m%d %H:%M:%S mysqld restarted'`" | tee -a $err_log
done
echo "`date +'%y%m%d %H:%M:%S mysqld ended\n'`" | tee -a $err_log
echo "`date +'%y%m%d %H:%M:%S mysqld ended'`" | tee -a $err_log
echo "" | tee -a $err_log
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 21:48:32
ATIS table test
Creating tables
Time for create_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 3 wallclock secs ( 0.49 usr 0.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 2 wallclock secs ( 0.65 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 16 wallclock secs ( 4.55 usr 2.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 12 wallclock secs ( 1.64 usr 0.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 14 wallclock secs ( 1.86 usr 0.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 47 wallclock secs ( 9.20 usr 4.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 12:57:30
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 0:10:20
ATIS table test
Creating tables
Time for create_table (28): 2 secs ( 0.05 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.10 cpu)
Time for create_table (28): 3 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 40 secs ( 7.14 usr 7.21 sys + 0.00 cusr 0.00 csys = 14.35 cpu)
Time to insert (9768): 30 wallclock secs ( 5.85 usr 4.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 37 secs ( 9.62 usr 7.92 sys + 0.00 cusr 0.00 csys = 17.54 cpu)
Time for select_join (200): 572 secs (81.23 usr 73.44 sys + 0.00 cusr 0.00 csys = 154.67 cpu)
Time for select_distinct (800): 292 secs (28.26 usr 22.92 sys + 0.00 cusr 0.00 csys = 51.18 cpu)
Time for select_group (2700): 209 secs (20.70 usr 12.94 sys + 0.00 cusr 0.00 csys = 33.64 cpu)
Time for select_simple_join (500): 21 wallclock secs ( 7.16 usr 3.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 137 wallclock secs (56.58 usr 27.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 127 wallclock secs (20.08 usr 8.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 140 wallclock secs (14.60 usr 5.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 1 secs ( 0.02 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.04 cpu)
Total time: 1153 secs (147.11 usr 124.50 sys + 0.00 cusr 0.00 csys = 271.61 cpu)
Time to drop_table (28): 1 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 459 wallclock secs (104.37 usr 50.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 1:07:36
ATIS table test
Creating tables
Time for create_table (28): 1 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
Inserting data
Time to insert (9768): 5 wallclock secs ( 0.75 usr 0.90 sys + 0.00 cusr 0.00 csys = 1.65 CPU)
Retrieving data
Time for select_simple_join (500): 3 wallclock secs ( 1.28 usr 0.98 sys + 0.00 cusr 0.00 csys = 2.26 CPU)
Time for select_join (200): 28 wallclock secs ( 9.99 usr 9.46 sys + 0.00 cusr 0.00 csys = 19.45 CPU)
Time for select_distinct (800): 27 wallclock secs ( 3.33 usr 3.09 sys + 0.00 cusr 0.00 csys = 6.42 CPU)
Time for select_group (2800): 25 wallclock secs ( 2.43 usr 1.64 sys + 0.00 cusr 0.00 csys = 4.07 CPU)
Removing tables
Time to drop_table (28): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 90 wallclock secs (17.80 usr 16.07 sys + 0.00 cusr 0.00 csys = 33.87 CPU)
Benchmark DBD suite: 2.10
Date of test: 2000-12-17 23:35:25
Running tests on: Linux 2.2.14-my-SMP i686
Arguments:
Comments: Intel Xeon, 2x550 Mhz, 1G ram, key_buffer=16M
Limits from:
Server version: MySQL 3.23.29a gamma
ATIS: Total time: 47 wallclock secs ( 9.20 usr 4.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 463 wallclock secs ( 0.39 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 32 wallclock secs ( 8.71 usr 6.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 79 wallclock secs (35.02 usr 18.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 135 wallclock secs ( 9.85 usr 3.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Total time: 2216 wallclock secs (423.12 usr 155.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1312 wallclock secs (63.58 usr 18.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 17 wallclock secs ( 3.57 usr 1.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
All 8 test executed successfully
Totals per operation:
Operation seconds usr sys cpu tests
alter_table_add 258.00 0.26 0.07 0.00 992
alter_table_drop 196.00 0.07 0.01 0.00 496
connect 13.00 7.93 2.58 0.00 10000
connect+select_1_row 15.00 7.98 3.18 0.00 10000
connect+select_simple 14.00 7.69 3.24 0.00 10000
count 45.00 0.10 0.01 0.00 100
count_distinct 124.00 0.68 0.16 0.00 2000
count_distinct_big 111.00 7.80 5.59 0.00 120
count_distinct_group 74.00 1.26 0.40 0.00 1000
count_distinct_group_on_key 61.00 0.43 0.08 0.00 1000
count_distinct_group_on_key_parts 73.00 1.27 0.42 0.00 1000
count_group_on_key_parts 62.00 1.13 0.43 0.00 1000
count_on_key 514.00 17.86 3.19 0.00 50100
create+drop 36.00 2.52 0.89 0.00 10000
create_MANY_tables 28.00 1.87 0.47 0.00 10000
create_index 4.00 0.00 0.00 0.00 8
create_key+drop 46.00 4.05 0.70 0.00 10000
create_table 0.00 0.00 0.00 0.00 31
delete_all 19.00 0.01 0.00 0.00 12
delete_all_many_keys 181.00 0.02 0.00 0.00 1
delete_big 0.00 0.00 0.00 0.00 1
delete_big_many_keys 181.00 0.02 0.00 0.00 128
delete_key 3.00 0.50 0.39 0.00 10000
drop_index 4.00 0.00 0.00 0.00 8
drop_table 0.00 0.00 0.00 0.00 28
drop_table_when_MANY_tables 14.00 0.60 0.60 0.00 10000
insert 134.00 22.42 14.46 0.00 350768
insert_duplicates 24.00 2.86 2.57 0.00 100000
insert_key 172.00 10.70 4.06 0.00 100000
insert_many_fields 9.00 0.39 0.10 0.00 2000
insert_select_1_key 7.00 0.00 0.00 0.00 1
insert_select_2_keys 9.00 0.00 0.00 0.00 1
min_max 30.00 0.03 0.00 0.00 60
min_max_on_key 206.00 27.71 4.96 0.00 85000
multiple_value_insert 9.00 1.92 0.07 0.00 100000
order_by_big 53.00 22.27 16.17 0.00 10
order_by_big_key 33.00 22.36 10.06 0.00 10
order_by_big_key2 33.00 22.83 9.51 0.00 10
order_by_big_key_desc 32.00 22.03 10.36 0.00 10
order_by_big_key_diff 49.00 21.98 16.40 0.00 10
order_by_key 3.00 1.28 0.40 0.00 500
order_by_key2_diff 5.00 1.91 0.83 0.00 500
order_by_range 5.00 1.09 0.51 0.00 500
outer_join 73.00 0.01 0.00 0.00 10
outer_join_found 70.00 0.00 0.00 0.00 10
outer_join_not_found 50.00 0.00 0.01 0.00 500
outer_join_on_key 61.00 0.00 0.00 0.00 10
select_1_row 3.00 0.71 0.67 0.00 10000
select_2_rows 3.00 0.65 0.68 0.00 10000
select_big 58.00 31.42 17.06 0.00 10080
select_column+column 4.00 0.48 0.60 0.00 10000
select_diff_key 184.00 0.36 0.02 0.00 500
select_distinct 12.00 1.64 0.81 0.00 800
select_group 70.00 1.92 0.41 0.00 2911
select_group_when_MANY_tables 11.00 0.81 0.61 0.00 10000
select_join 16.00 4.55 2.23 0.00 200
select_key 126.00 68.62 14.75 0.00 200000
select_key2 134.00 73.78 14.11 0.00 200000
select_key_prefix 136.00 69.37 14.48 0.00 200000
select_many_fields 22.00 8.31 6.73 0.00 2000
select_range 201.00 9.29 3.51 0.00 410
select_range_key2 18.00 6.59 1.71 0.00 25010
select_range_prefix 20.00 6.80 1.51 0.00 25010
select_simple 2.00 0.53 0.51 0.00 10000
select_simple_join 2.00 0.65 0.26 0.00 500
update_big 65.00 0.00 0.00 0.00 10
update_of_key 97.00 3.15 2.09 0.00 50256
update_of_key_big 33.00 0.01 0.02 0.00 501
update_with_key 116.00 15.94 12.19 0.00 300000
wisc_benchmark 4.00 1.92 0.66 0.00 114
TOTALS 4480.00 553.34 208.50 0.00 1946237
This diff is collapsed.
Benchmark DBD suite: 2.10
Date of test: 2000-12-17 16:55:55
Running tests on: SunOS 2.8, UltraSPARC-II, sun4u 4xcpu 400 MHz
Arguments: -O key_buffer=16M
Comments: gcc 2.95.2, 2G memory
Limits from:
Server version: MySQL 3.23.29a gamma
ATIS: Total time: 90 wallclock secs (17.80 usr 16.07 sys + 0.00 cusr 0.00 csys = 33.87 CPU)
alter-table: Total time: 886 wallclock secs ( 0.22 usr 0.24 sys + 0.00 cusr 0.00 csys = 0.46 CPU)
big-tables: Total time: 84 wallclock secs (19.18 usr 32.22 sys + 0.00 cusr 0.00 csys = 51.40 CPU)
connect: Total time: 140 wallclock secs (44.23 usr 46.40 sys + 0.00 cusr 0.00 csys = 90.63 CPU)
create: Total time: 2556 wallclock secs (10.32 usr 7.37 sys + 0.00 cusr 0.00 csys = 17.69 CPU)
insert: Total time: 4255 wallclock secs (674.38 usr 525.05 sys + 0.00 cusr 0.00 csys = 1199.43 CPU)
select: Estimated total time: 2200 wallclock secs (91.87 usr 62.18 sys + 0.00 cusr 0.00 csys = 154.06 CPU)
wisconsin: Total time: 31 wallclock secs ( 5.79 usr 5.32 sys + 0.00 cusr 0.00 csys = 11.11 CPU)
All 8 test executed successfully
Tests with estimated time have a + at end of line
Totals per operation:
Operation seconds usr sys cpu tests
alter_table_add 516.00 0.09 0.10 0.19 992
alter_table_drop 354.00 0.06 0.06 0.12 496
connect 28.00 9.94 10.15 20.09 10000
connect+select_1_row 33.00 10.86 12.26 23.12 10000
connect+select_simple 31.00 10.69 11.68 22.37 10000
count 54.00 0.02 0.04 0.06 100
count_distinct 217.00 0.98 0.30 1.28 2000
count_distinct_big 214.00 16.68 15.02 31.70 120
count_distinct_group 229.00 1.96 1.95 3.91 1000
count_distinct_group_on_key 101.00 0.58 0.35 0.93 1000
count_distinct_group_on_key_parts 228.00 2.00 1.90 3.90 1000
count_group_on_key_parts 85.00 1.82 1.89 3.71 1000
count_on_key 738.00 20.51 9.12 29.64 50100 +
create+drop 717.00 2.66 2.04 4.70 10000
create_MANY_tables 779.00 2.21 0.85 3.06 10000
create_index 8.00 0.00 0.00 0.00 8
create_key+drop 720.00 3.82 1.94 5.76 10000
create_table 1.00 0.01 0.00 0.01 31
delete_all 29.00 0.00 0.00 0.00 12
delete_all_many_keys 299.00 0.03 0.00 0.03 1
delete_big 1.00 0.00 0.00 0.00 1
delete_big_many_keys 299.00 0.03 0.00 0.03 128
delete_key 6.00 0.77 0.91 1.68 10000
drop_index 7.00 0.00 0.00 0.00 8
drop_table 1.00 0.00 0.00 0.00 28
drop_table_when_MANY_tables 329.00 0.69 0.94 1.63 10000
insert 217.00 25.55 32.85 58.40 350768
insert_duplicates 48.00 7.31 9.16 16.47 100000
insert_key 614.00 17.07 10.23 27.30 100000
insert_many_fields 19.00 0.49 0.22 0.71 2000
insert_select_1_key 13.00 0.00 0.00 0.00 1
insert_select_2_keys 15.00 0.00 0.00 0.00 1
min_max 43.00 0.02 0.00 0.02 60
min_max_on_key 306.00 34.63 16.70 51.33 85000
multiple_value_insert 13.00 1.84 0.03 1.87 100000
order_by_big 110.00 47.64 46.77 94.41 10
order_by_big_key 94.00 46.86 47.25 94.11 10
order_by_big_key2 94.00 47.53 46.27 93.80 10
order_by_big_key_desc 94.00 46.97 46.76 93.73 10
order_by_big_key_diff 107.00 47.62 46.94 94.56 10
order_by_key 7.00 2.10 2.12 4.22 500
order_by_key2_diff 14.00 3.72 4.32 8.04 500
order_by_range 10.00 2.19 1.94 4.13 500
outer_join 143.00 0.00 0.01 0.01 10
outer_join_found 143.00 0.00 0.00 0.00 10
outer_join_not_found 94.00 0.02 0.01 0.03 500
outer_join_on_key 102.00 0.01 0.00 0.01 10
select_1_row 5.00 1.01 1.90 2.91 10000
select_2_rows 6.00 0.82 2.24 3.06 10000
select_big 123.00 56.54 51.93 108.47 10080
select_column+column 6.00 0.86 1.85 2.71 10000
select_diff_key 345.00 0.35 0.08 0.43 500
select_distinct 27.00 3.33 3.09 6.42 800
select_group 104.00 2.46 1.68 4.14 2911
select_group_when_MANY_tables 11.00 0.93 1.60 2.53 10000
select_join 28.00 9.99 9.46 19.45 200
select_key 209.00 94.26 47.75 142.01 200000
select_key2 217.00 94.64 47.74 142.38 200000
select_key_prefix 222.00 95.29 45.47 140.76 200000
select_many_fields 65.00 18.69 32.00 50.69 2000
select_range 326.00 17.61 17.05 34.66 410
select_range_key2 34.00 10.65 5.32 15.97 25010
select_range_prefix 36.00 10.05 5.36 15.41 25010
select_simple 4.00 0.84 1.47 2.31 10000
select_simple_join 3.00 1.28 0.98 2.26 500
update_big 69.00 0.00 0.00 0.00 10
update_of_key 144.00 3.57 4.61 8.18 50256
update_of_key_big 45.00 0.02 0.02 0.04 501
update_with_key 177.00 18.82 27.57 46.39 300000
wisc_benchmark 9.00 3.67 2.50 6.17 114
TOTALS 10539.00 863.66 694.75 1558.42 1946237 +
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 21:49:19
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 1 wallclock secs ( 0.06 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 258 wallclock secs ( 0.26 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 196 wallclock secs ( 0.07 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 463 wallclock secs ( 0.39 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 11:17:01
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 0:18:01
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 4 secs ( 0.69 usr 0.64 sys + 0.00 cusr 0.00 csys = 1.33 cpu)
Time for insert (1000) 3 wallclock secs ( 0.42 usr 0.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 3419 secs ( 1.97 usr 0.98 sys + 0.00 cusr 0.00 csys = 2.95 cpu)
Time for alter_table_add (992): 1482 wallclock secs ( 1.50 usr 0.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 47 secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.03 cpu)
Time for create_index (8): 24 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 47 secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 cpu)
Time for drop_index (8): 24 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 2509 secs ( 0.68 usr 0.48 sys + 0.00 cusr 0.00 csys = 1.16 cpu)
Time for alter_table_drop (496): 1066 wallclock secs ( 0.71 usr 0.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 6026 secs ( 3.39 usr 2.11 sys + 0.00 cusr 0.00 csys = 5.50 cpu)
Total time: 2599 wallclock secs ( 2.67 usr 1.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 1:09:06
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 1 wallclock secs ( 0.07 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.15 CPU)
Time for alter_table_add (992): 516 wallclock secs ( 0.09 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.19 CPU)
Time for create_index (8): 8 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 7 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 354 wallclock secs ( 0.06 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.12 CPU)
Total time: 886 wallclock secs ( 0.22 usr 0.24 sys + 0.00 cusr 0.00 csys = 0.46 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 21:57:03
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
Testing select * from table with 1 record
Time to select_many_fields(1000): 9 wallclock secs ( 4.22 usr 3.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 13 wallclock secs ( 4.09 usr 3.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 3 wallclock secs ( 0.34 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 6 wallclock secs ( 0.05 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 32 wallclock secs ( 8.71 usr 6.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 13:16:46
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 1:01:22
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
Testing select * from table with 1 record
Time to select_many_fields(1000): 181 secs (49.75 usr 84.73 sys + 0.00 cusr 0.00 csys = 134.48 cpu)
Time to select_many_fields(1000): 83 wallclock secs (25.25 usr 45.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 288 secs (55.83 usr 91.84 sys + 0.00 cusr 0.00 csys = 147.67 cpu)
Time to select_many_fields(1000): 110 wallclock secs (26.77 usr 45.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 59 secs ( 5.28 usr 1.31 sys + 0.00 cusr 0.00 csys = 6.59 cpu)
Time to insert_many_fields(1000): 21 wallclock secs ( 2.97 usr 0.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 144 secs ( 1.15 usr 1.30 sys + 0.00 cusr 0.00 csys = 2.45 cpu)
Time to insert_many_fields(1000): 45 wallclock secs ( 0.51 usr 0.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 674 secs (112.16 usr 179.21 sys + 0.00 cusr 0.00 csys = 291.37 cpu)
Total time: 260 wallclock secs (55.55 usr 91.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 1:23:52
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
Testing select * from table with 1 record
Time to select_many_fields(1000): 29 wallclock secs ( 9.21 usr 16.18 sys + 0.00 cusr 0.00 csys = 25.39 CPU)
Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 36 wallclock secs ( 9.48 usr 15.82 sys + 0.00 cusr 0.00 csys = 25.30 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 6 wallclock secs ( 0.45 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.56 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 13 wallclock secs ( 0.04 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.15 CPU)
Total time: 84 wallclock secs (19.18 usr 32.22 sys + 0.00 cusr 0.00 csys = 51.40 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 21:57:35
Testing the speed of connecting to the server and sending of data
All tests are done 10000 times
Testing connection/disconnect
Time to connect (10000): 13 wallclock secs ( 7.93 usr 2.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 14 wallclock secs ( 7.69 usr 3.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.53 usr 0.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing connect/select 1 row from table/disconnect
Time to connect+select_1_row (10000): 15 wallclock secs ( 7.98 usr 3.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 3 wallclock secs ( 0.71 usr 0.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 3 wallclock secs ( 0.65 usr 0.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 4 wallclock secs ( 0.48 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 25 wallclock secs ( 9.05 usr 6.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 79 wallclock secs (35.02 usr 18.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 13:28:05
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 1:05:44
Testing the speed of connecting to the server and sending of data
All tests are done 10000 times
Testing connection/disconnect
Time to connect (10000): 292 secs (88.91 usr 68.44 sys + 0.00 cusr 0.00 csys = 157.35 cpu)
Time to connect (10000): 175 wallclock secs (69.09 usr 50.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for select_simple (10000): 314 secs (88.59 usr 81.30 sys + 0.00 cusr 0.00 csys = 169.89 cpu)
Time for connect+select_simple (10000): 193 wallclock secs (72.11 usr 59.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 48 secs ( 7.03 usr 11.44 sys + 0.00 cusr 0.00 csys = 18.47 cpu)
Time for select_simple (10000): 19 wallclock secs ( 4.00 usr 6.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing connect/select 1 row from table/disconnect
Time to connect+select (10000): 363 secs (104.08 usr 83.81 sys + 0.00 cusr 0.00 csys = 187.89 cpu)
Time to connect+select_1_row (10000): 203 wallclock secs (72.78 usr 60.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select (10000): 57 secs ( 8.47 usr 14.74 sys + 0.00 cusr 0.00 csys = 23.21 cpu)
Time to select_1_row (10000): 25 wallclock secs ( 4.18 usr 7.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select (10000): 54 secs ( 7.46 usr 13.80 sys + 0.00 cusr 0.00 csys = 21.26 cpu)
Time to select_2_rows (10000): 30 wallclock secs ( 3.36 usr 8.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 30 wallclock secs ( 4.21 usr 7.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 385 secs (122.16 usr 58.29 sys + 0.00 cusr 0.00 csys = 180.45 cpu)
Time to select_big (10000): 296 wallclock secs (84.19 usr 54.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1514 secs (426.83 usr 331.83 sys + 0.00 cusr 0.00 csys = 758.66 cpu)
Total time: 971 wallclock secs (313.99 usr 256.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 1:25:16
Testing the speed of connecting to the server and sending of data
All tests are done 10000 times
Testing connection/disconnect
Time to connect (10000): 28 wallclock secs ( 9.94 usr 10.15 sys + 0.00 cusr 0.00 csys = 20.09 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 31 wallclock secs (10.69 usr 11.68 sys + 0.00 cusr 0.00 csys = 22.37 CPU)
Test simple select
Time for select_simple (10000): 4 wallclock secs ( 0.84 usr 1.47 sys + 0.00 cusr 0.00 csys = 2.31 CPU)
Testing connect/select 1 row from table/disconnect
Time to connect+select_1_row (10000): 33 wallclock secs (10.86 usr 12.26 sys + 0.00 cusr 0.00 csys = 23.12 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 5 wallclock secs ( 1.01 usr 1.90 sys + 0.00 cusr 0.00 csys = 2.91 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 6 wallclock secs ( 0.82 usr 2.24 sys + 0.00 cusr 0.00 csys = 3.06 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 6 wallclock secs ( 0.86 usr 1.85 sys + 0.00 cusr 0.00 csys = 2.71 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 27 wallclock secs ( 9.18 usr 4.85 sys + 0.00 cusr 0.00 csys = 14.03 CPU)
Total time: 140 wallclock secs (44.23 usr 46.40 sys + 0.00 cusr 0.00 csys = 90.63 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 21:58:54
Testing the speed of creating and droping tables
Testing with 10000 tables and 10000 loop count
Testing create of tables
Time for create_MANY_tables (10000): 28 wallclock secs ( 1.87 usr 0.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 11 wallclock secs ( 0.81 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 14 wallclock secs ( 0.60 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 36 wallclock secs ( 2.52 usr 0.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 46 wallclock secs ( 4.05 usr 0.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 135 wallclock secs ( 9.85 usr 3.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 13:53:23
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 1:21:57
Testing the speed of creating and droping tables
All tests are done 1000 times
Testing with 10000 tables and 10000 loop count
Testing create of tables
Time for create_table (1000): 95 secs ( 2.15 usr 1.01 sys + 0.00 cusr 0.00 csys = 3.16 cpu)
Time for create_MANY_tables (10000): 2078 wallclock secs (15.85 usr 6.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group (1000): 9 secs ( 0.92 usr 0.99 sys + 0.00 cusr 0.00 csys = 1.91 cpu)
Time to select_group_when_MANY_tables (10000): 177 wallclock secs ( 6.82 usr 7.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table (1000): 47 secs ( 0.59 usr 0.75 sys + 0.00 cusr 0.00 csys = 1.34 cpu)
Time for drop_table_when_MANY_tables (10000): 599 wallclock secs ( 6.29 usr 5.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (1000): 110 secs ( 2.56 usr 2.18 sys + 0.00 cusr 0.00 csys = 4.74 cpu)
Time for create_key+drop (1000): 116 secs ( 5.71 usr 1.29 sys + 0.00 cusr 0.00 csys = 7.00 cpu)
Total time: 377 secs (11.94 usr 6.22 sys + 0.00 cusr 0.00 csys = 18.16 cpu)
Time for create+drop (10000): 995 wallclock secs (21.72 usr 10.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 995 wallclock secs (29.17 usr 10.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 4844 wallclock secs (79.86 usr 40.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 1:27:36
Testing the speed of creating and droping tables
Testing with 10000 tables and 10000 loop count
Testing create of tables
Time for create_MANY_tables (10000): 779 wallclock secs ( 2.21 usr 0.85 sys + 0.00 cusr 0.00 csys = 3.06 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 11 wallclock secs ( 0.93 usr 1.60 sys + 0.00 cusr 0.00 csys = 2.53 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 329 wallclock secs ( 0.69 usr 0.94 sys + 0.00 cusr 0.00 csys = 1.63 CPU)
Testing create+drop
Time for create+drop (10000): 717 wallclock secs ( 2.66 usr 2.04 sys + 0.00 cusr 0.00 csys = 4.70 CPU)
Time for create_key+drop (10000): 720 wallclock secs ( 3.82 usr 1.94 sys + 0.00 cusr 0.00 csys = 5.76 CPU)
Total time: 2556 wallclock secs (10.32 usr 7.37 sys + 0.00 cusr 0.00 csys = 17.69 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 22:01:09
Testing the speed of inserting data into 1 table and do some selects on it.
The tests are done with a table that has 100000 rows.
Generating random keys
Creating tables
Inserting 100000 rows in order
Inserting 100000 rows in reverse order
Inserting 100000 rows in random order
Time for insert (300000): 114 wallclock secs (19.41 usr 12.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (100000): 24 wallclock secs ( 2.86 usr 2.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 32 wallclock secs (22.21 usr 10.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key (10:3000000): 33 wallclock secs (22.36 usr 10.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key_desc (10:3000000): 32 wallclock secs (22.03 usr 10.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key2 (10:3000000): 33 wallclock secs (22.83 usr 9.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key_diff (10:3000000): 49 wallclock secs (21.98 usr 16.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big (10:3000000): 53 wallclock secs (22.27 usr 16.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_range (500:125750): 5 wallclock secs ( 1.09 usr 0.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (500:125750): 3 wallclock secs ( 1.28 usr 0.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key2_diff (500:250500): 5 wallclock secs ( 1.91 usr 0.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 184 wallclock secs ( 0.36 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 11 wallclock secs ( 3.09 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (5010:42084): 10 wallclock secs ( 3.00 usr 0.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 136 wallclock secs (69.37 usr 14.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 126 wallclock secs (68.62 usr 14.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key2 (200000): 134 wallclock secs (73.78 usr 14.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 9 wallclock secs ( 3.71 usr 0.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (20000:43500): 8 wallclock secs ( 3.59 usr 0.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 56 wallclock secs ( 0.06 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 8 wallclock secs ( 4.85 usr 0.88 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 30 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 47 wallclock secs ( 0.04 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 45 wallclock secs ( 0.10 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 64 wallclock secs ( 0.01 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (50000): 23 wallclock secs ( 3.12 usr 2.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 33 wallclock secs ( 0.01 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (300000): 116 wallclock secs (15.94 usr 12.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (10): 65 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing left outer join
Time for outer_join_on_key (10:10): 61 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 73 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 70 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_not_found (500:10): 50 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing INSERT INTO ... SELECT
Time for insert_select_1_key (1): 7 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_select_2_keys (1): 9 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(2): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (10000): 3 wallclock secs ( 0.50 usr 0.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_all (12): 19 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Insert into table with 16 keys and with a primary key with 16 parts
Time for insert_key (100000): 172 wallclock secs (10.70 usr 4.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 74 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting rows from the table
Time for delete_big_many_keys (128): 181 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_all_many_keys (1): 181 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting 100000 rows with multiple values
Time for multiple_value_insert (100000): 9 wallclock secs ( 1.92 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 2216 wallclock secs (423.12 usr 155.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 13:59:43
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 2:42:45
Testing the speed of inserting data into 1 table and do some selects on it.
The tests are done with a table that has 100000 rows.
......@@ -8,61 +8,96 @@ Creating tables
Inserting 100000 rows in order
Inserting 100000 rows in reverse order
Inserting 100000 rows in random order
Time for insert (300000): 1615 secs (216.50 usr 221.44 sys + 0.00 cusr 0.00 csys = 437.94 cpu)
Time for insert (300000): 1082 wallclock secs (190.09 usr 166.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (300000): 330 secs (64.66 usr 64.80 sys + 0.00 cusr 0.00 csys = 129.46 cpu)
Time for insert_duplicates (100000): 299 wallclock secs (57.52 usr 54.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 896 secs (383.17 usr 271.88 sys + 0.00 cusr 0.00 csys = 655.05 cpu)
Time for select_big (10:3000000): 455 wallclock secs (255.90 usr 196.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key (10:3000000): 448 wallclock secs (251.08 usr 195.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key_desc (10:3000000): 453 wallclock secs (253.91 usr 197.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key2 (10:3000000): 445 wallclock secs (248.50 usr 195.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key_diff (10:3000000): 648 wallclock secs (250.20 usr 227.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
8 queries in 8 loops of 10 loops took 746 seconds
Estimated time for order_by_key (10:2400000): 932 secs (400.17 usr 269.81 sys + 0.00 cusr 0.00 csys = 669.99 cpu)
9 queries in 9 loops of 10 loops took 610 seconds
Estimated time for order_by_big (10:2700000): 677 wallclock secs (251.22 usr 227.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_range (500:125750): 58 wallclock secs (12.03 usr 8.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (500:125750): 39 wallclock secs (12.41 usr 8.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key2_diff (500:250500): 76 wallclock secs (22.75 usr 15.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
6 queries in 6 loops of 10 loops took 824 seconds
Estimated time for order_by (10:1800000): 1373 secs (367.25 usr 247.43 sys + 0.00 cusr 0.00 csys = 614.68 cpu)
Time for select_range_prefix (5010:42084): 262 secs (37.71 usr 15.74 sys + 0.00 cusr 0.00 csys = 53.45 cpu)
Time for select_range (5010:42084): 181 secs (35.49 usr 14.52 sys + 0.00 cusr 0.00 csys = 50.01 cpu)
287 queries in 287 loops of 500 loops took 602 seconds
Estimated time for select_diff_key (500:574): 1048 wallclock secs ( 2.16 usr 0.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 99 wallclock secs (23.80 usr 11.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (5010:42084): 95 wallclock secs (23.87 usr 11.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
51066 queries in 25533 loops of 100000 loops took 601 seconds
Estimated time for select_key_prefix (200000): 2353 secs (783.46 usr 293.15 sys + 0.00 cusr 0.00 csys = 1076.61 cpu)
95524 queries in 47762 loops of 100000 loops took 601 seconds
Estimated time for select_key_prefix (200000): 1258 wallclock secs (576.44 usr 251.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
52474 queries in 26237 loops of 100000 loops took 601 seconds
Estimated time for select_key (200000): 2290 secs (906.93 usr 309.98 sys + 0.00 cusr 0.00 csys = 1216.91 cpu)
101292 queries in 50646 loops of 100000 loops took 601 seconds
Estimated time for select_key (200000): 1186 wallclock secs (585.97 usr 241.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
96300 queries in 48150 loops of 100000 loops took 601 seconds
Estimated time for select_key2 (200000): 1248 wallclock secs (578.67 usr 246.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 139 secs (44.24 usr 16.91 sys + 0.00 cusr 0.00 csys = 61.15 cpu)
Time for select_range (20000:43500): 148 secs (44.42 usr 16.74 sys + 0.00 cusr 0.00 csys = 61.16 cpu)
Time for select_group (111): 1290 secs ( 0.60 usr 0.24 sys + 0.00 cusr 0.00 csys = 0.84 cpu)
Time for min_max_on_key (3000): 31 secs (12.80 usr 3.85 sys + 0.00 cusr 0.00 csys = 16.65 cpu)
Time for min_max (60): 437 secs ( 0.34 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.43 cpu)
Time for count_on_key (100): 659 secs ( 0.47 usr 0.21 sys + 0.00 cusr 0.00 csys = 0.68 cpu)
Time for count (100): 539 secs ( 0.53 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.67 cpu)
Testing update with functions
Time for update_key (500): 2 secs ( 0.34 usr 0.33 sys + 0.00 cusr 0.00 csys = 0.67 cpu)
Time for update_key_big (501): 380 secs ( 0.33 usr 0.25 sys + 0.00 cusr 0.00 csys = 0.58 cpu)
Time for select_range_prefix (20000:43500): 82 wallclock secs (31.51 usr 14.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (20000:43500): 82 wallclock secs (32.08 usr 15.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 276 wallclock secs ( 0.47 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 82 wallclock secs (41.17 usr 14.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 144 wallclock secs ( 0.16 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 297 wallclock secs ( 0.34 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 191 wallclock secs ( 0.34 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
16 queries in 8 loops of 10 loops took 673 seconds
Estimated time for count_distinct_big (20): 841 wallclock secs ( 0.05 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (50000): 275 wallclock secs (33.49 usr 28.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 209 wallclock secs ( 0.30 usr 0.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (300000): 1136 wallclock secs (171.26 usr 157.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (10): 384 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing left outer join
Time for outer_join_on_key (10:10): 359 wallclock secs ( 0.04 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 757 wallclock secs ( 0.05 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 724 wallclock secs ( 0.00 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_not_found (500:10): 423 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing INSERT INTO ... SELECT
Time for insert_select_1_key (1): 44 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_select_2_keys (1): 53 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(2): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (500): 4 secs ( 0.43 usr 0.34 sys + 0.00 cusr 0.00 csys = 0.77 cpu)
Time for delete_big (12): 283 secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.03 cpu)
Time for delete_key (10000): 39 wallclock secs ( 5.98 usr 5.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_all (12): 129 wallclock secs ( 0.01 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Insert into table with 16 keys and with a primary key with 16 parts
Time for insert_key (100000): 2879 secs (151.51 usr 77.43 sys + 0.00 cusr 0.00 csys = 228.94 cpu)
Time for insert_key (100000): 1988 wallclock secs (94.64 usr 58.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 835 secs ( 0.30 usr 0.30 sys + 0.00 cusr 0.00 csys = 0.60 cpu)
Time for update_of_key (256): 349 wallclock secs ( 0.22 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting rows from the table
Time for delete_big_many_keys (128): 1460 wallclock secs ( 0.13 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big (2): 2240 secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.01 cpu)
Time for delete_all_many_keys (1): 1460 wallclock secs ( 0.13 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting 100000 rows with multiple values
Time for multiple_value_insert (100000): 128 secs (16.22 usr 0.49 sys + 0.00 cusr 0.00 csys = 16.71 cpu)
Time for multiple_value_insert (100000): 55 wallclock secs ( 8.95 usr 0.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(1): 1 secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 cpu)
Time for drop table(1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Estimated total time: 20234 secs (3468.07 usr 1826.12 sys + 0.00 cusr 0.00 csys = 5294.18 cpu)
Estimated total time: 19996 wallclock secs (4017.95 usr 2552.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 2:10:12
Testing the speed of inserting data into 1 table and do some selects on it.
The tests are done with a table that has 100000 rows.
Generating random keys
Creating tables
Inserting 100000 rows in order
Inserting 100000 rows in reverse order
Inserting 100000 rows in random order
Time for insert (300000): 185 wallclock secs (21.65 usr 28.32 sys + 0.00 cusr 0.00 csys = 49.97 CPU)
Testing insert of duplicates
Time for insert_duplicates (100000): 48 wallclock secs ( 7.31 usr 9.16 sys + 0.00 cusr 0.00 csys = 16.47 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 94 wallclock secs (47.10 usr 46.81 sys + 0.00 cusr 0.00 csys = 93.91 CPU)
Time for order_by_big_key (10:3000000): 94 wallclock secs (46.86 usr 47.25 sys + 0.00 cusr 0.00 csys = 94.11 CPU)
Time for order_by_big_key_desc (10:3000000): 94 wallclock secs (46.97 usr 46.76 sys + 0.00 cusr 0.00 csys = 93.73 CPU)
Time for order_by_big_key2 (10:3000000): 94 wallclock secs (47.53 usr 46.27 sys + 0.00 cusr 0.00 csys = 93.80 CPU)
Time for order_by_big_key_diff (10:3000000): 107 wallclock secs (47.62 usr 46.94 sys + 0.00 cusr 0.00 csys = 94.56 CPU)
Time for order_by_big (10:3000000): 110 wallclock secs (47.64 usr 46.77 sys + 0.00 cusr 0.00 csys = 94.41 CPU)
Time for order_by_range (500:125750): 10 wallclock secs ( 2.19 usr 1.94 sys + 0.00 cusr 0.00 csys = 4.13 CPU)
Time for order_by_key (500:125750): 7 wallclock secs ( 2.10 usr 2.12 sys + 0.00 cusr 0.00 csys = 4.22 CPU)
Time for order_by_key2_diff (500:250500): 14 wallclock secs ( 3.72 usr 4.32 sys + 0.00 cusr 0.00 csys = 8.04 CPU)
Time for select_diff_key (500:1000): 345 wallclock secs ( 0.35 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.43 CPU)
Time for select_range_prefix (5010:42084): 21 wallclock secs ( 4.49 usr 2.42 sys + 0.00 cusr 0.00 csys = 6.91 CPU)
Time for select_range_key2 (5010:42084): 20 wallclock secs ( 5.09 usr 2.75 sys + 0.00 cusr 0.00 csys = 7.84 CPU)
Time for select_key_prefix (200000): 222 wallclock secs (95.29 usr 45.47 sys + 0.00 cusr 0.00 csys = 140.76 CPU)
Time for select_key (200000): 209 wallclock secs (94.26 usr 47.75 sys + 0.00 cusr 0.00 csys = 142.01 CPU)
Time for select_key2 (200000): 217 wallclock secs (94.64 usr 47.74 sys + 0.00 cusr 0.00 csys = 142.38 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 15 wallclock secs ( 5.56 usr 2.94 sys + 0.00 cusr 0.00 csys = 8.50 CPU)
Time for select_range_key2 (20000:43500): 14 wallclock secs ( 5.56 usr 2.57 sys + 0.00 cusr 0.00 csys = 8.13 CPU)
Time for select_group (111): 79 wallclock secs ( 0.03 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.07 CPU)
Time for min_max_on_key (15000): 14 wallclock secs ( 6.13 usr 3.14 sys + 0.00 cusr 0.00 csys = 9.27 CPU)
Time for min_max (60): 43 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.02 CPU)
Time for count_on_key (100): 72 wallclock secs ( 0.04 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.08 CPU)
Time for count (100): 54 wallclock secs ( 0.02 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.06 CPU)
Time for count_distinct_big (20): 166 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.02 CPU)
Testing update of keys with functions
Time for update_of_key (50000): 38 wallclock secs ( 3.56 usr 4.58 sys + 0.00 cusr 0.00 csys = 8.14 CPU)
Time for update_of_key_big (501): 45 wallclock secs ( 0.02 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.04 CPU)
Testing update with key
Time for update_with_key (300000): 177 wallclock secs (18.82 usr 27.57 sys + 0.00 cusr 0.00 csys = 46.39 CPU)
Testing update of all rows
Time for update_big (10): 69 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing left outer join
Time for outer_join_on_key (10:10): 102 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
Time for outer_join (10:10): 143 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
Time for outer_join_found (10:10): 143 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_not_found (500:10): 94 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
Testing INSERT INTO ... SELECT
Time for insert_select_1_key (1): 13 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_select_2_keys (1): 15 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(2): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (10000): 6 wallclock secs ( 0.77 usr 0.91 sys + 0.00 cusr 0.00 csys = 1.68 CPU)
Time for delete_all (12): 29 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Insert into table with 16 keys and with a primary key with 16 parts
Time for insert_key (100000): 614 wallclock secs (17.07 usr 10.23 sys + 0.00 cusr 0.00 csys = 27.30 CPU)
Testing update of keys
Time for update_of_key (256): 106 wallclock secs ( 0.01 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.04 CPU)
Deleting rows from the table
Time for delete_big_many_keys (128): 299 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
Deleting everything from table
Time for delete_all_many_keys (1): 299 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
Inserting 100000 rows with multiple values
Time for multiple_value_insert (100000): 13 wallclock secs ( 1.84 usr 0.03 sys + 0.00 cusr 0.00 csys = 1.87 CPU)
Time for drop table(1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 4255 wallclock secs (674.38 usr 525.05 sys + 0.00 cusr 0.00 csys = 1199.43 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 22:38:07
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 500 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 4 wallclock secs ( 0.88 usr 0.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
Time for select_big (70:17207): 1 wallclock secs ( 0.16 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 201 wallclock secs ( 9.29 usr 3.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 198 wallclock secs (22.86 usr 4.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 467 wallclock secs (17.82 usr 3.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:100000): 62 wallclock secs ( 1.13 usr 0.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (2000:2000): 124 wallclock secs ( 0.68 usr 0.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 61 wallclock secs ( 0.43 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 73 wallclock secs ( 1.27 usr 0.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 74 wallclock secs ( 1.26 usr 0.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (100:1000000): 47 wallclock secs ( 7.79 usr 5.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1312 wallclock secs (63.58 usr 18.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 18:27:41
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 7:33:18
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 500 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 74 secs ( 9.81 usr 7.90 sys + 0.00 cusr 0.00 csys = 17.71 cpu)
Time to insert (10000): 41 wallclock secs ( 7.98 usr 5.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
Time for select_big (70:17207): 17 secs ( 2.44 usr 2.18 sys + 0.00 cusr 0.00 csys = 4.62 cpu)
Time for select_big (70:17207): 7 wallclock secs ( 1.74 usr 1.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
82 queries in 2 loops of 10 loops took 654 seconds
Estimated time for select_range (410:233157): 3270 secs (179.90 usr 141.30 sys + 0.00 cusr 0.00 csys = 321.20 cpu)
205 queries in 5 loops of 10 loops took 659 seconds
Estimated time for select_range (410:537457): 1318 wallclock secs (116.36 usr 78.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
18487 queries in 2641 loops of 10000 loops took 601 seconds
Estimated time for min_max_on_key (70000): 2275 secs (273.91 usr 103.86 sys + 0.00 cusr 0.00 csys = 377.77 cpu)
32291 queries in 4613 loops of 10000 loops took 601 seconds
Estimated time for min_max_on_key (70000): 1302 wallclock secs (180.73 usr 74.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
2580 queries in 516 loops of 10000 loops took 601 seconds
Estimated time for count_on_key (50000): 11647 secs (214.92 usr 80.23 sys + 0.00 cusr 0.00 csys = 295.16 cpu)
11240 queries in 2248 loops of 10000 loops took 601 seconds
Estimated time for count_on_key (50000): 2673 wallclock secs (132.65 usr 51.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Estimated total time: 17283 secs (681.00 usr 335.49 sys + 0.00 cusr 0.00 csys = 1016.50 cpu)
Time for count_group_on_key_parts (1000:100000): 303 wallclock secs (12.11 usr 7.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Note: Query took longer then time-limit: 600
Estimating end time based on:
1486 queries in 743 loops of 1000 loops took 601 seconds
Estimated time for count_distinct (2000:1486): 808 wallclock secs ( 6.35 usr 2.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 373 wallclock secs ( 3.78 usr 1.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
431 queries in 431 loops of 1000 loops took 601 seconds
Estimated time for count_distinct_group_on_key_parts (1000:43100): 1394 wallclock secs (12.62 usr 7.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
432 queries in 432 loops of 1000 loops took 601 seconds
Estimated time for count_distinct_group (1000:43200): 1391 wallclock secs (12.41 usr 7.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (100:1000000): 333 wallclock secs (93.16 usr 74.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Estimated total time: 9945 wallclock secs (579.92 usr 312.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 3:21:10
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 500 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 6 wallclock secs ( 1.03 usr 0.81 sys + 0.00 cusr 0.00 csys = 1.84 CPU)
Testing big selects on the table
Time for select_big (70:17207): 2 wallclock secs ( 0.26 usr 0.27 sys + 0.00 cusr 0.00 csys = 0.53 CPU)
Time for select_range (410:1057904): 326 wallclock secs (17.61 usr 17.05 sys + 0.00 cusr 0.00 csys = 34.66 CPU)
Time for min_max_on_key (70000): 292 wallclock secs (28.50 usr 13.56 sys + 0.00 cusr 0.00 csys = 42.06 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
45085 queries in 9017 loops of 10000 loops took 601 seconds
Estimated time for count_on_key (50000): 666 wallclock secs (20.47 usr 9.08 sys + 0.00 cusr 0.00 csys = 29.56 CPU)
Time for count_group_on_key_parts (1000:100000): 85 wallclock secs ( 1.82 usr 1.89 sys + 0.00 cusr 0.00 csys = 3.71 CPU)
Testing count(distinct) on the table
Time for count_distinct (2000:2000): 217 wallclock secs ( 0.98 usr 0.30 sys + 0.00 cusr 0.00 csys = 1.28 CPU)
Time for count_distinct_group_on_key (1000:6000): 101 wallclock secs ( 0.58 usr 0.35 sys + 0.00 cusr 0.00 csys = 0.93 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 228 wallclock secs ( 2.00 usr 1.90 sys + 0.00 cusr 0.00 csys = 3.90 CPU)
Time for count_distinct_group (1000:100000): 229 wallclock secs ( 1.96 usr 1.95 sys + 0.00 cusr 0.00 csys = 3.91 CPU)
Time for count_distinct_big (100:1000000): 48 wallclock secs (16.66 usr 15.02 sys + 0.00 cusr 0.00 csys = 31.68 CPU)
Estimated total time: 2200 wallclock secs (91.87 usr 62.18 sys + 0.00 cusr 0.00 csys = 154.06 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 22:59:59
Wisconsin benchmark test
Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 13 wallclock secs ( 1.64 usr 1.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
Time for wisc_benchmark (114): 4 wallclock secs ( 1.92 usr 0.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 17 wallclock secs ( 3.57 usr 1.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.22.20' at 1999-03-19 19:00:11
Testing server 'MySQL 3.23.29 gamma' at 2000-12-17 8:52:01
Wisconsin benchmark test
Time for create_table (3): 1 secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.01 cpu)
Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 169 secs (18.06 usr 20.38 sys + 0.00 cusr 0.00 csys = 38.44 cpu)
Time to delete_big (1): 11 secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 cpu)
Time to insert (31000): 118 wallclock secs (16.52 usr 15.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 3 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
Time for wisc_benchmark (114): 110 secs (29.24 usr 14.59 sys + 0.00 cusr 0.00 csys = 43.83 cpu)
Time for wisc_benchmark (114): 42 wallclock secs (17.93 usr 7.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 291 secs (47.32 usr 34.98 sys + 0.00 cusr 0.00 csys = 82.30 cpu)
Total time: 163 wallclock secs (34.49 usr 22.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-17 3:56:45
Wisconsin benchmark test
Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 21 wallclock secs ( 2.12 usr 2.82 sys + 0.00 cusr 0.00 csys = 4.94 CPU)
Time to delete_big (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
Time for wisc_benchmark (114): 9 wallclock secs ( 3.67 usr 2.50 sys + 0.00 cusr 0.00 csys = 6.17 CPU)
Total time: 31 wallclock secs ( 5.79 usr 5.32 sys + 0.00 cusr 0.00 csys = 11.11 CPU)
......@@ -1915,14 +1915,16 @@ static BDB_SHARE *get_share(const char *table_name, TABLE *table)
uint length=(uint) strlen(table_name);
if (!(share=(BDB_SHARE*) hash_search(&bdb_open_tables, table_name, length)))
{
if ((share=(BDB_SHARE *) my_malloc(sizeof(*share)+length+1 +
sizeof(ha_rows)* table->keys,
if ((share=(BDB_SHARE *) my_malloc(ALIGN_SIZE(sizeof(*share))+
sizeof(ha_rows)* table->keys +
length+1,
MYF(MY_WME | MY_ZEROFILL))))
{
share->rec_per_key= (ha_rows*) ((char*) share +
ALIGN_SIZE(sizeof(*share)));
share->table_name=(char*) (share->rec_per_key+table->keys);
share->table_name_length=length;
share->table_name=(char*) (share+1);
strmov(share->table_name,table_name);
share->rec_per_key= (ha_rows*) (share+1);
if (hash_insert(&bdb_open_tables, (char*) share))
{
pthread_mutex_unlock(&bdb_mutex);
......
......@@ -173,13 +173,13 @@ longlong Item_func_eq::val_int()
void Item_func_equal::fix_length_and_dec()
{
Item_bool_func2::fix_length_and_dec();
result_type=item_cmp_type(args[0]->result_type(),args[1]->result_type());
cmp_result_type=item_cmp_type(args[0]->result_type(),args[1]->result_type());
maybe_null=null_value=0;
}
longlong Item_func_equal::val_int()
{
switch (result_type) {
switch (cmp_result_type) {
case STRING_RESULT:
{
String *res1,*res2;
......
......@@ -70,7 +70,7 @@ public:
class Item_func_equal :public Item_bool_func2
{
Item_result result_type;
Item_result cmp_result_type;
public:
Item_func_equal(Item *a,Item *b) :Item_bool_func2(a,b) { };
longlong val_int();
......
......@@ -80,11 +80,11 @@ public:
virtual int write_data(IO_CACHE* file __attribute__((unused))) { return 0; }
virtual Log_event_type get_type_code() = 0;
Log_event(time_t when_arg, ulong exec_time_arg = 0,
int valid_exec_time_arg = 0, uint32 server_id = 0): when(when_arg),
exec_time(exec_time_arg), valid_exec_time(valid_exec_time_arg)
int valid_exec_time_arg = 0, uint32 server_id_arg = 0):
when(when_arg), exec_time(exec_time_arg),
valid_exec_time(valid_exec_time_arg)
{
if(!server_id) this->server_id = ::server_id;
else this->server_id = server_id;
server_id = server_id_arg ? server_id_arg : server_id = ::server_id;
}
Log_event(const char* buf): valid_exec_time(0)
......@@ -144,7 +144,7 @@ public:
}
#endif
Query_log_event(IO_CACHE* file, time_t when, uint32 server_id);
Query_log_event(IO_CACHE* file, time_t when, uint32 server_id_arg);
Query_log_event(const char* buf, int event_len);
~Query_log_event()
{
......@@ -218,11 +218,11 @@ public:
THD* thd;
String field_lens_buf;
String fields_buf;
Load_log_event(THD* thd, sql_exchange* ex, const char* table_name,
List<Item>& fields, enum enum_duplicates handle_dup ):
Load_log_event(THD* thd, sql_exchange* ex, const char* table_name_arg,
List<Item>& fields_arg, enum enum_duplicates handle_dup ):
Log_event(thd->start_time),data_buf(0),thread_id(thd->thread_id),
num_fields(0),fields(0),field_lens(0),field_block_len(0),
table_name(table_name),
table_name(table_name_arg),
db(thd->db),
fname(ex->file_name),
thd(thd)
......@@ -267,7 +267,7 @@ public:
skip_lines = ex->skip_lines;
List_iterator<Item> li(fields);
List_iterator<Item> li(fields_arg);
field_lens_buf.length(0);
fields_buf.length(0);
Item* item;
......@@ -281,12 +281,12 @@ public:
}
field_lens = (const uchar*)field_lens_buf.ptr();
this->fields = fields_buf.ptr();
fields = fields_buf.ptr();
}
void set_fields(List<Item> &fields);
void set_fields(List<Item> &fields_arg);
#endif
Load_log_event(IO_CACHE * file, time_t when, uint32 server_id);
Load_log_event(IO_CACHE * file, time_t when, uint32 server_id_arg);
Load_log_event(const char* buf, int event_len);
~Load_log_event()
{
......@@ -325,8 +325,8 @@ public:
created = (uint32) when;
memcpy(server_version, ::server_version, sizeof(server_version));
}
Start_log_event(IO_CACHE* file, time_t when_arg, uint32 server_id) :
Log_event(when_arg, 0, 0, server_id)
Start_log_event(IO_CACHE* file, time_t when_arg, uint32 server_id_arg) :
Log_event(when_arg, 0, 0, server_id_arg)
{
char buf[sizeof(server_version) + 2 + 4 + 4];
if (my_b_read(file, (byte*) buf, sizeof(buf)))
......@@ -356,7 +356,7 @@ public:
Intvar_log_event(uchar type_arg, ulonglong val_arg)
:Log_event(time(NULL)),val(val_arg),type(type_arg)
{}
Intvar_log_event(IO_CACHE* file, time_t when, uint32 server_id);
Intvar_log_event(IO_CACHE* file, time_t when, uint32 server_id_arg);
Intvar_log_event(const char* buf);
~Intvar_log_event() {}
Log_event_type get_type_code() { return INTVAR_EVENT;}
......@@ -372,8 +372,8 @@ class Stop_log_event: public Log_event
public:
Stop_log_event() :Log_event(time(NULL))
{}
Stop_log_event(IO_CACHE* file, time_t when_arg, uint32 server_id):
Log_event(when_arg,0,0,server_id)
Stop_log_event(IO_CACHE* file, time_t when_arg, uint32 server_id_arg):
Log_event(when_arg,0,0,server_id_arg)
{
byte skip[4];
my_b_read(file, skip, sizeof(skip)); // skip the event length
......@@ -400,7 +400,7 @@ public:
alloced(0)
{}
Rotate_log_event(IO_CACHE* file, time_t when, uint32 server_id) ;
Rotate_log_event(IO_CACHE* file, time_t when, uint32 server_id_arg) ;
Rotate_log_event(const char* buf, int event_len);
~Rotate_log_event()
{
......
......@@ -2385,10 +2385,10 @@ CHANGEABLE_VAR changeable_vars[] = {
{ "bdb_cache_size", (long*) &berkeley_cache_size,
KEY_CACHE_SIZE, 20*1024, (long) ~0, 0, IO_SIZE },
{ "bdb_max_lock", (long*) &berkeley_max_lock,
1000, 0, (long) ~0, 0, 1 },
10000, 0, (long) ~0, 0, 1 },
/* QQ: The following should be removed soon! */
{ "bdb_lock_max", (long*) &berkeley_max_lock,
1000, 0, (long) ~0, 0, 1 },
10000, 0, (long) ~0, 0, 1 },
#endif
{ "binlog_cache_size", (long*) &binlog_cache_size,
32*1024L, IO_SIZE, ~0L, 0, IO_SIZE },
......
......@@ -204,7 +204,7 @@ public:
char* key;
char* val;
i_string_pair():key(0),val(0) { }
i_string_pair(char* key, char* val) : key(key),val(val) {}
i_string_pair(char* key_arg, char* val_arg) : key(key_arg),val(val_arg) {}
};
......
......@@ -537,7 +537,6 @@ mysqld_show_logs(THD *thd)
DBUG_ENTER("mysqld_show_logs");
List<Item> field_list;
Item *item;
field_list.push_back(new Item_empty_string("File",FN_REFLEN));
field_list.push_back(new Item_empty_string("Type",10));
field_list.push_back(new Item_empty_string("Status",10));
......
......@@ -132,7 +132,7 @@ languages and applications need to dynamically load and use MySQL.
%build
# The all-static flag is to make the RPM work on different
# distributions. This version tries to put shared mysqlcliet libraries
# distributions. This version tries to put shared mysqlclient libraries
# in a separate package.
BuildMySQL() {
......@@ -310,6 +310,7 @@ fi
%attr(755, root, root) /usr/bin/replace
%attr(755, root, root) /usr/bin/resolveip
%attr(755, root, root) /usr/bin/safe_mysqld
%attr(755, root, root) /usr/bin/mysqld_multi
%attr(755, root, root) /usr/bin/my_print_defaults
%attr(644, root, root) /usr/info/mysql.info*
......@@ -348,7 +349,7 @@ fi
%files shared
# Shared libraries (omit for architectures that don't support them)
%attr(755, root, root) /usr/lib/*
%attr(755, root, root) /usr/lib/*.so*
%files bench
%attr(-, root, root) /usr/share/sql-bench
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment