Commit 9c1ecff8 authored by monty@donna.mysql.com's avatar monty@donna.mysql.com

Merge

parents b231fdef fab1abb4
...@@ -13,3 +13,4 @@ sinisa@work.mysql.com ...@@ -13,3 +13,4 @@ sinisa@work.mysql.com
tim@localhost.polyesthetic.msg tim@localhost.polyesthetic.msg
tim@work.mysql.com tim@work.mysql.com
tonu@work.mysql.com tonu@work.mysql.com
monty@donna.mysql.com
...@@ -60,3 +60,6 @@ output4.r: $(PROGRAM) ...@@ -60,3 +60,6 @@ output4.r: $(PROGRAM)
output5.r: $(PROGRAM) output5.r: $(PROGRAM)
factorial -\#d:f,factorial:F:L:o 3 | cat >$@ factorial -\#d:f,factorial:F:L:o 3 | cat >$@
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -27,3 +27,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\ ...@@ -27,3 +27,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\
prio_queue.h pthread_attr.h pthread_once.h queue.h\ prio_queue.h pthread_attr.h pthread_once.h queue.h\
sleep.h specific.h version.h pwd.h timers.h uio.h \ sleep.h specific.h version.h pwd.h timers.h uio.h \
cdefs.h machdep.h signal.h __signal.h cdefs.h machdep.h signal.h __signal.h
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -35,3 +35,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\ ...@@ -35,3 +35,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\
prio_queue.h pthread_attr.h pthread_once.h queue.h\ prio_queue.h pthread_attr.h pthread_once.h queue.h\
sleep.h specific.h version.h pwd.h timers.h uio.h \ sleep.h specific.h version.h pwd.h timers.h uio.h \
cdefs.h machdep.h signal.h __signal.h util.h cdefs.h machdep.h signal.h __signal.h util.h
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -49,3 +49,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\ ...@@ -49,3 +49,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\
# Move to automake rules ? # Move to automake rules ?
prolint:; plparse -b -u -hF1 "-width(0,0)" "-format=%f:%l:\s%t:%n\s%m" \ prolint:; plparse -b -u -hF1 "-width(0,0)" "-format=%f:%l:\s%t:%n\s%m" \
"-elib(????)" "+elib(?3??)" my.lnt $(nisam_SOURCES) "-elib(????)" "+elib(?3??)" my.lnt $(nisam_SOURCES)
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -29,3 +29,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\ ...@@ -29,3 +29,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\
prio_queue.h pthread_attr.h pthread_once.h queue.h\ prio_queue.h pthread_attr.h pthread_once.h queue.h\
sleep.h specific.h version.h pwd.h timers.h uio.h \ sleep.h specific.h version.h pwd.h timers.h uio.h \
cdefs.h machdep.h signal.h __signal.h util.h cdefs.h machdep.h signal.h __signal.h util.h
# Don't update the files from bitkeeper
%::SCCS/s.%
2000-08-17 Michael Widenius <monty@mysql.com>
* Add a new flag in share.staus so that we can quickly check if a table
is analyzed or not!
2000-07-02 Michael Widenius <monty@mysql.com> 2000-07-02 Michael Widenius <monty@mysql.com>
* Added safety margin to guard against full index file. * Added safety margin to guard against full index file.
......
...@@ -105,3 +105,6 @@ SUFFIXES = .sh ...@@ -105,3 +105,6 @@ SUFFIXES = .sh
-e 's!@''PERL_DATA_DUMPER''@!@PERL_DATA_DUMPER@!' \ -e 's!@''PERL_DATA_DUMPER''@!@PERL_DATA_DUMPER@!' \
$< > $@-t $< > $@-t
@MV@ $@-t $@ @MV@ $@-t $@
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -1055,7 +1055,8 @@ int mi_repair(MI_CHECK *param, register MI_INFO *info, ...@@ -1055,7 +1055,8 @@ int mi_repair(MI_CHECK *param, register MI_INFO *info,
DBUG_ENTER("mi_repair"); DBUG_ENTER("mi_repair");
start_records=info->state->records; start_records=info->state->records;
new_header_length=(param->testflag & T_UNPACK) ? 0L : share->pack.header_length; new_header_length=(param->testflag & T_UNPACK) ? 0L :
share->pack.header_length;
got_error=1; got_error=1;
new_file= -1; new_file= -1;
if (!(param->testflag & T_SILENT)) if (!(param->testflag & T_SILENT))
...@@ -1252,8 +1253,9 @@ err: ...@@ -1252,8 +1253,9 @@ err:
share->pack.header_length=0; share->pack.header_length=0;
share->data_file_type=sort_info->new_data_file_type; share->data_file_type=sort_info->new_data_file_type;
} }
share->state.changed|=STATE_NOT_OPTIMIZED_KEYS | STATE_NOT_SORTED_PAGES;
DBUG_RETURN(got_error); DBUG_RETURN(got_error);
} /* rep */ }
/* Uppate keyfile when doing repair */ /* Uppate keyfile when doing repair */
...@@ -1431,6 +1433,7 @@ int mi_sort_index(MI_CHECK *param, register MI_INFO *info, my_string name) ...@@ -1431,6 +1433,7 @@ int mi_sort_index(MI_CHECK *param, register MI_INFO *info, my_string name)
for (key=0 ; key < info->s->state.header.max_block_size ; key++) for (key=0 ; key < info->s->state.header.max_block_size ; key++)
info->s->state.key_del[key]= HA_OFFSET_ERROR; info->s->state.key_del[key]= HA_OFFSET_ERROR;
info->s->state.changed&= ~STATE_NOT_SORTED_PAGES;
DBUG_RETURN(0); DBUG_RETURN(0);
err: err:
...@@ -1879,6 +1882,10 @@ err: ...@@ -1879,6 +1882,10 @@ err:
mi_mark_crashed_on_repair(info); mi_mark_crashed_on_repair(info);
info->update|= HA_STATE_CHANGED; info->update|= HA_STATE_CHANGED;
} }
else if (key_map == share->state.key_map)
share->state.changed&= ~STATE_NOT_OPTIMIZED_KEYS;
share->state.changed|=STATE_NOT_SORTED_PAGES;
my_free((gptr) sort_info->key_block,MYF(MY_ALLOW_ZERO_PTR)); my_free((gptr) sort_info->key_block,MYF(MY_ALLOW_ZERO_PTR));
my_free(sort_info->record,MYF(MY_ALLOW_ZERO_PTR)); my_free(sort_info->record,MYF(MY_ALLOW_ZERO_PTR));
my_free(sort_info->buff,MYF(MY_ALLOW_ZERO_PTR)); my_free(sort_info->buff,MYF(MY_ALLOW_ZERO_PTR));
...@@ -1891,7 +1898,7 @@ err: ...@@ -1891,7 +1898,7 @@ err:
share->pack.header_length=0; share->pack.header_length=0;
} }
DBUG_RETURN(got_error); DBUG_RETURN(got_error);
} /* rep_by_sort */ }
/* Read next record and return next key */ /* Read next record and return next key */
...@@ -2813,6 +2820,7 @@ int update_state_info(MI_CHECK *param, MI_INFO *info,uint update) ...@@ -2813,6 +2820,7 @@ int update_state_info(MI_CHECK *param, MI_INFO *info,uint update)
memcpy((char*) share->state.rec_per_key_part, memcpy((char*) share->state.rec_per_key_part,
(char*) param->rec_per_key_part, (char*) param->rec_per_key_part,
sizeof(*param->rec_per_key_part)*key_parts); sizeof(*param->rec_per_key_part)*key_parts);
share->state.changed&= ~STATE_NOT_ANALYZED;
} }
if (update & (UPDATE_STAT | UPDATE_SORT | UPDATE_TIME | UPDATE_AUTO_INC)) if (update & (UPDATE_STAT | UPDATE_SORT | UPDATE_TIME | UPDATE_AUTO_INC))
{ {
......
...@@ -205,7 +205,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function) ...@@ -205,7 +205,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function)
share->base.keystart; share->base.keystart;
if (!share->changed) if (!share->changed)
{ {
share->state.changed|=1; share->state.changed|= STATE_CHANGED | STATE_NOT_ANALYZED;
share->changed=1; /* Update on close */ share->changed=1; /* Update on close */
if (!share->global_changed) if (!share->global_changed)
{ {
......
...@@ -103,6 +103,7 @@ int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos) ...@@ -103,6 +103,7 @@ int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos)
old_link=info->s->state.key_del[keyinfo->block_size]; old_link=info->s->state.key_del[keyinfo->block_size];
info->s->state.key_del[keyinfo->block_size]=pos; info->s->state.key_del[keyinfo->block_size]=pos;
mi_sizestore(buff,old_link); mi_sizestore(buff,old_link);
info->s->state.changed|= STATE_NOT_SORTED_PAGES;
DBUG_RETURN(key_cache_write(info->s->kfile,pos,buff, DBUG_RETURN(key_cache_write(info->s->kfile,pos,buff,
sizeof(buff), sizeof(buff),
(uint) keyinfo->block_length, (uint) keyinfo->block_length,
...@@ -139,6 +140,7 @@ my_off_t _mi_new(register MI_INFO *info, MI_KEYDEF *keyinfo) ...@@ -139,6 +140,7 @@ my_off_t _mi_new(register MI_INFO *info, MI_KEYDEF *keyinfo)
else else
info->s->state.key_del[keyinfo->block_size]=mi_sizekorr(buff); info->s->state.key_del[keyinfo->block_size]=mi_sizekorr(buff);
} }
info->s->state.changed|= STATE_NOT_SORTED_PAGES;
DBUG_PRINT("exit",("Pos: %d",pos)); DBUG_PRINT("exit",("Pos: %d",pos));
DBUG_RETURN(pos); DBUG_RETURN(pos);
} /* _mi_new */ } /* _mi_new */
...@@ -190,7 +190,7 @@ static struct option long_options[] = ...@@ -190,7 +190,7 @@ static struct option long_options[] =
static void print_version(void) static void print_version(void)
{ {
printf("%s Ver 1.28 for %s at %s\n",my_progname,SYSTEM_TYPE, printf("%s Ver 1.29 for %s at %s\n",my_progname,SYSTEM_TYPE,
MACHINE_TYPE); MACHINE_TYPE);
} }
...@@ -520,7 +520,9 @@ static int myisamchk(MI_CHECK *param, my_string filename) ...@@ -520,7 +520,9 @@ static int myisamchk(MI_CHECK *param, my_string filename)
We are using --fast and the table is closed properly We are using --fast and the table is closed properly
We are using --check-only-changed-tables and the table hasn't changed We are using --check-only-changed-tables and the table hasn't changed
*/ */
if ((param->testflag & T_CHECK_ONLY_CHANGED) && !share->state.changed || if (((param->testflag & T_CHECK_ONLY_CHANGED) &&
(share->state.changed & (STATE_CHANGED | STATE_CRASHED |
STATE_CRASHED_ON_REPAIR))) ||
(param->testflag & T_FAST) && share->state.open_count == 0) (param->testflag & T_FAST) && share->state.open_count == 0)
{ {
if (!(param->testflag & T_SILENT) || param->testflag & T_INFO) if (!(param->testflag & T_SILENT) || param->testflag & T_INFO)
...@@ -687,7 +689,8 @@ static int myisamchk(MI_CHECK *param, my_string filename) ...@@ -687,7 +689,8 @@ static int myisamchk(MI_CHECK *param, my_string filename)
if (!error && param->testflag & T_SORT_INDEX) if (!error && param->testflag & T_SORT_INDEX)
error=mi_sort_index(param,info,fixed_name); error=mi_sort_index(param,info,fixed_name);
if (!error) if (!error)
share->state.changed=0; share->state.changed&= ~(STATE_CHANGED | STATE_CRASHED |
STATE_CRASHED_ON_REPAIR);
else else
mi_mark_crashed(info); mi_mark_crashed(info);
} }
...@@ -734,9 +737,11 @@ static int myisamchk(MI_CHECK *param, my_string filename) ...@@ -734,9 +737,11 @@ static int myisamchk(MI_CHECK *param, my_string filename)
} }
if (!error) if (!error)
{ {
if (share->state.changed && (param->testflag & T_UPDATE_STATE)) if ((share->state.changed & STATE_CHANGED) &&
(param->testflag & T_UPDATE_STATE))
info->update|=HA_STATE_CHANGED | HA_STATE_ROW_CHANGED; info->update|=HA_STATE_CHANGED | HA_STATE_ROW_CHANGED;
share->state.changed=0; share->state.changed&= ~(STATE_CHANGED | STATE_CRASHED |
STATE_CRASHED_ON_REPAIR);
} }
else if (!mi_is_crashed(info) && else if (!mi_is_crashed(info) &&
(param->testflag & T_UPDATE_STATE)) (param->testflag & T_UPDATE_STATE))
...@@ -815,7 +820,7 @@ static void descript(MI_CHECK *param, register MI_INFO *info, my_string name) ...@@ -815,7 +820,7 @@ static void descript(MI_CHECK *param, register MI_INFO *info, my_string name)
reg3 MI_KEYDEF *keyinfo; reg3 MI_KEYDEF *keyinfo;
reg2 MI_KEYSEG *keyseg; reg2 MI_KEYSEG *keyseg;
reg4 const char *text; reg4 const char *text;
char buff[40],length[10],*pos,*end; char buff[160],length[10],*pos,*end;
enum en_fieldtype type; enum en_fieldtype type;
MYISAM_SHARE *share=info->s; MYISAM_SHARE *share=info->s;
char llbuff[22],llbuff2[22]; char llbuff[22],llbuff2[22];
...@@ -847,10 +852,26 @@ static void descript(MI_CHECK *param, register MI_INFO *info, my_string name) ...@@ -847,10 +852,26 @@ static void descript(MI_CHECK *param, register MI_INFO *info, my_string name)
get_date(buff,1,share->state.check_time); get_date(buff,1,share->state.check_time);
printf("Recover time: %s\n",buff); printf("Recover time: %s\n",buff);
} }
printf("Status: %s\n", pos=buff;
share->state.changed & 2 ? "crashed" : if (share->state.changed & STATE_CRASHED)
share->state.open_count ? "open" : strmov(buff,"crashed");
share->state.changed ? "changed" : "checked"); else
{
if (share->state.open_count)
pos=strmov(pos,"open,");
if (share->state.changed & STATE_CHANGED)
pos=strmov(pos,"changed,");
else
pos=strmov(pos,"checked,");
if (!(share->state.changed & STATE_NOT_ANALYZED))
pos=strmov(pos,"analyzed,");
if (!(share->state.changed & STATE_NOT_OPTIMIZED_KEYS))
pos=strmov(pos,"optimized keys,");
if (!(share->state.changed & STATE_NOT_SORTED_PAGES))
pos=strmov(pos,"sorted index pages,");
pos[-1]=0; /* Remove extra ',' */
}
printf("Status: %s\n",buff);
if (share->base.auto_key) if (share->base.auto_key)
{ {
printf("Auto increment key: %13d Last value: %13s\n", printf("Auto increment key: %13d Last value: %13s\n",
......
...@@ -30,3 +30,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\ ...@@ -30,3 +30,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\
prio_queue.h pthread_attr.h pthread_once.h queue.h\ prio_queue.h pthread_attr.h pthread_once.h queue.h\
sleep.h specific.h version.h pwd.h timers.h uio.h \ sleep.h specific.h version.h pwd.h timers.h uio.h \
cdefs.h machdep.h signal.h __signal.h util.h cdefs.h machdep.h signal.h __signal.h util.h
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -91,3 +91,6 @@ test_vsnprintf: my_vsnprintf.c $(LIBRARIES) ...@@ -91,3 +91,6 @@ test_vsnprintf: my_vsnprintf.c $(LIBRARIES)
test_hash: test_hash.c $(LIBRARIES) test_hash: test_hash.c $(LIBRARIES)
$(LINK) $(FLAGS) -DMAIN $(srcdir)/test_dir.c $(LDADD) $(LIBS) $(LINK) $(FLAGS) -DMAIN $(srcdir)/test_dir.c $(LDADD) $(LIBS)
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -27,3 +27,6 @@ noinst_HEADERS = rldefs.h histlib.h rlwinsize.h \ ...@@ -27,3 +27,6 @@ noinst_HEADERS = rldefs.h histlib.h rlwinsize.h \
EXTRA_DIST= emacs_keymap.c vi_keymap.c EXTRA_DIST= emacs_keymap.c vi_keymap.c
DEFS = -DUNDEF_THREADS_HACK -DHAVE_CONFIG_H DEFS = -DUNDEF_THREADS_HACK -DHAVE_CONFIG_H
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -40,3 +40,6 @@ test: re tests ...@@ -40,3 +40,6 @@ test: re tests
./re < tests ./re < tests
./re -el < tests ./re -el < tests
./re -er < tests ./re -er < tests
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -102,3 +102,6 @@ SUFFIXES = .sh ...@@ -102,3 +102,6 @@ SUFFIXES = .sh
$< > $@-t $< > $@-t
@CHMOD@ +x $@-t @CHMOD@ +x $@-t
@MV@ $@-t $@ @MV@ $@-t $@
# Don't update the files from bitkeeper
%::SCCS/s.%
# This file describes how to run MySQL benchmarks with Postgres
#
# The test was run on a Intel Xeon 2x 550 Mzh machine with 1G memory,
# 9G hard disk. The OS is Suse 6.4, with Linux 2.2.14 compiled with SMP
# support
# Both the perl client and the database server is run
# on the same machine. No other cpu intensive process was used during
# the benchmark.
#
#
# First, install postgresql-7.0.2.tar.gz
#
#
# Start by adding the following lines to your ~/.bash_profile or
# corresponding file. If you are using csh, use ´setenv´.
#
export POSTGRES_INCLUDE=/usr/local/pgsql/include
export POSTGRES_LIB=/usr/local/pgsql/lib
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
#
# Add the following line to /etc/ld.so.conf:
#
/usr/local/pgsql/lib
and run ldconfig.
#
# untar the postgres source distribution and cd to src/
# run the following commands:
#
./configure
gmake
gmake install
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
su postgres -c "/usr/local/pgsql/bin/postmaster -o -F -D /usr/local/pgsql/data" &
su postgres -c "/usr/local/pgsql/bin/createdb test"
#
# Second, install packages DBD-Pg-0.95.tar.gz and DBI-1.14.tar.gz,
# available from http://www.perl.com/CPAN/
#
#
# Now we run the test that can be found in the sql-bench directory in the
# MySQL 3.23 source distribution.
#
# We did run two tests:
# The standard test
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql
# and a test where we do a vacuum() after each update.
# (The time for vacuum() is counted in the book-keeping() column)
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast
# If you want to store the results in a output/RUN-xxx file, you should
# repeate the benchmark with the extra option --log --use-old-result
# This will create a the RUN file based of the previous results
#
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --log --use-old-result
run-all-tests --comment="Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast --log --use-old-result
...@@ -35,13 +35,14 @@ dist-hook: ...@@ -35,13 +35,14 @@ dist-hook:
mkdir -p $(distdir)/Data/ATIS $(distdir)/Data/Wisconsin \ mkdir -p $(distdir)/Data/ATIS $(distdir)/Data/Wisconsin \
$(distdir)/Results $(distdir)/Results-linux \ $(distdir)/Results $(distdir)/Results-linux \
$(distdir)/Results-win32 \ $(distdir)/Results-win32 \
$(distdir)/limits $(distdir)/limits @(distdir)/Comments
cp -pr $(srcdir)/Data/ATIS $(distdir)/Data cp -pr $(srcdir)/Data/ATIS $(distdir)/Data
cp -pr $(srcdir)/Data/Wisconsin $(distdir)/Data cp -pr $(srcdir)/Data/Wisconsin $(distdir)/Data
cp -pr $(srcdir)/Results $(distdir)/ cp -pr $(srcdir)/Results $(distdir)/
cp -pr $(srcdir)/Results-linux $(distdir)/ cp -pr $(srcdir)/Results-linux $(distdir)/
cp -pr $(srcdir)/Results-win32 $(distdir)/ cp -pr $(srcdir)/Results-win32 $(distdir)/
cp -pr $(srcdir)/limits $(distdir)/ cp -pr $(srcdir)/limits $(distdir)/
cp -pr $(srcdir)/Comments $(distdir)/
install-data-local: install-data-local:
$(mkinstalldirs) \ $(mkinstalldirs) \
...@@ -51,7 +52,8 @@ install-data-local: ...@@ -51,7 +52,8 @@ install-data-local:
$(DESTDIR)$(benchdir)/Results \ $(DESTDIR)$(benchdir)/Results \
$(DESTDIR)$(benchdir)/Results-linux \ $(DESTDIR)$(benchdir)/Results-linux \
$(DESTDIR)$(benchdir)/Results-win32 \ $(DESTDIR)$(benchdir)/Results-win32 \
$(DESTDIR)$(benchdir)/limits $(DESTDIR)$(benchdir)/limits \
$(DESTDIR)$(benchdir)/Comments
cp -p $(srcdir)/README $(DESTDIR)$(benchdir) cp -p $(srcdir)/README $(DESTDIR)$(benchdir)
cp -pr $(srcdir)/Data/ATIS $(DESTDIR)$(benchdir)/Data cp -pr $(srcdir)/Data/ATIS $(DESTDIR)$(benchdir)/Data
cp -pr $(srcdir)/Data/Wisconsin $(DESTDIR)$(benchdir)/Data cp -pr $(srcdir)/Data/Wisconsin $(DESTDIR)$(benchdir)/Data
...@@ -59,6 +61,7 @@ install-data-local: ...@@ -59,6 +61,7 @@ install-data-local:
cp -pr $(srcdir)/Results-linux $(DESTDIR)$(benchdir) cp -pr $(srcdir)/Results-linux $(DESTDIR)$(benchdir)
cp -pr $(srcdir)/Results-win32 $(DESTDIR)$(benchdir) cp -pr $(srcdir)/Results-win32 $(DESTDIR)$(benchdir)
cp -pr $(srcdir)/limits $(DESTDIR)$(benchdir) cp -pr $(srcdir)/limits $(DESTDIR)$(benchdir)
cp -pr $(srcdir)/Comments $(DESTDIR)$(benchdir)
SUFFIXES = .sh SUFFIXES = .sh
......
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 17:46:54
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): 2 wallclock secs ( 0.49 usr 0.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 2 wallclock secs ( 0.63 usr 0.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 15 wallclock secs ( 4.21 usr 2.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 12 wallclock secs ( 1.70 usr 0.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2600): 12 wallclock secs ( 1.43 usr 0.39 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: 43 wallclock secs ( 8.46 usr 3.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 19:10:55
ATIS table test
Creating tables
Time for create_table (28): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 1 wallclock secs ( 0.64 usr 0.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 16 wallclock secs ( 4.21 usr 2.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 11 wallclock secs ( 1.74 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2600): 13 wallclock secs ( 1.34 usr 0.63 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: 42 wallclock secs ( 7.93 usr 3.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-15 16:58:55
ATIS table test
Creating tables
Time for create_table (28): 1 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 9 wallclock secs ( 2.71 usr 0.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 3 wallclock secs ( 0.76 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 13 wallclock secs ( 4.80 usr 0.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 17 wallclock secs ( 2.10 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2500): 44 wallclock secs ( 1.57 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.00 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: 88 wallclock secs (11.97 usr 0.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-17 3:08:29
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.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 9 wallclock secs ( 2.85 usr 0.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 3 wallclock secs ( 0.79 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 13 wallclock secs ( 4.77 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 17 wallclock secs ( 2.06 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2600): 41 wallclock secs ( 1.51 usr 0.15 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)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 87 wallclock secs (12.00 usr 0.99 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Benchmark DBD suite: 2.9
Date of test: 2000-08-17 19:09:48
Running tests on: Linux 2.2.14-my-SMP i686
Arguments:
Comments: Intel Xeon, 2x550 Mhz, 1G ram, key_buffer=16M
Limits from: mysql,pg
Server version: MySQL 3.23.22 beta
ATIS: Total time: 43 wallclock secs ( 8.46 usr 3.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 260 wallclock secs ( 0.27 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 30 wallclock secs ( 8.19 usr 6.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 53 wallclock secs (26.25 usr 9.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 121 wallclock secs ( 8.83 usr 3.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Total time: 1592 wallclock secs (254.20 usr 98.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1692 wallclock secs (111.29 usr 65.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 16 wallclock secs ( 2.87 usr 1.61 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 252.00 0.20 0.02 0.00 992
connect 10.00 6.60 1.51 0.00 10000
connect+select_1_row 13.00 7.08 2.47 0.00 10000
connect+select_simple 13.00 7.36 2.24 0.00 10000
count 46.00 0.07 0.00 0.00 100
count_distinct 124.00 0.65 0.16 0.00 1000
count_distinct_big 623.00 69.07 56.00 0.00 1020
count_distinct_group 77.00 0.94 0.33 0.00 1000
count_distinct_group_on_key 64.00 0.37 0.07 0.00 1000
count_distinct_group_on_key_parts 77.00 0.93 0.45 0.00 1000
count_group_on_key_parts 61.00 1.09 0.27 0.00 1000
count_on_key 574.00 16.11 3.17 0.00 50100
create+drop 26.00 2.10 0.81 0.00 10000
create_MANY_tables 32.00 1.97 0.49 0.00 10000
create_index 4.00 0.00 0.00 0.00 8
create_key+drop 40.00 3.64 0.72 0.00 10000
create_table 0.00 0.00 0.00 0.00 31
delete_big 21.00 0.00 0.00 0.00 13
delete_big_many_keys 120.00 0.00 0.00 0.00 2
delete_key 4.00 0.50 0.47 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 9.00 0.44 0.49 0.00 10000
insert 130.00 20.73 12.97 0.00 350768
insert_duplicates 113.00 18.31 11.27 0.00 300000
insert_key 159.00 8.91 4.08 0.00 100000
insert_many_fields 8.00 0.29 0.08 0.00 2000
min_max 31.00 0.03 0.00 0.00 60
min_max_on_key 213.00 25.00 4.86 0.00 85000
order_by 47.00 19.72 16.45 0.00 10
order_by_key 31.00 19.75 10.54 0.00 10
select_1_row 3.00 0.74 0.62 0.00 10000
select_2_rows 3.00 0.45 0.58 0.00 10000
select_big 37.00 23.09 11.64 0.00 10080
select_column+column 3.00 0.52 0.59 0.00 10000
select_diff_key 210.00 0.28 0.07 0.00 500
select_distinct 12.00 1.70 0.68 0.00 800
select_group 70.00 1.49 0.40 0.00 2711
select_group_when_MANY_tables 14.00 0.68 0.63 0.00 10000
select_join 15.00 4.21 2.20 0.00 200
select_key 129.00 66.05 14.03 0.00 200000
select_key_prefix 130.00 67.36 13.74 0.00 200000
select_many_fields 22.00 7.89 6.66 0.00 2000
select_range 21.00 7.00 1.72 0.00 25420
select_range_prefix 18.00 6.07 1.50 0.00 25010
select_simple 2.00 0.52 0.49 0.00 10000
select_simple_join 2.00 0.63 0.32 0.00 500
update_big 65.00 0.01 0.00 0.00 500
update_of_key 92.00 2.51 2.24 0.00 756
update_of_key_big 33.00 0.06 0.00 0.00 501
update_with_key 109.00 13.71 11.48 0.00 100000
wisc_benchmark 4.00 1.75 0.68 0.00 114
TOTALS 3920.00 438.58 200.19 0.00 1594242
Benchmark DBD suite: 2.9
Date of test: 2000-08-17 20:19:45
Running tests on: Linux 2.2.14-my-SMP i686
Arguments: --fast
Comments: Intel Xeon, 2x550 Mhz, 1G ram, key_buffer=16M
Limits from: mysql,pg
Server version: MySQL 3.23.22 beta
ATIS: Total time: 42 wallclock secs ( 7.93 usr 3.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 260 wallclock secs ( 0.26 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 31 wallclock secs ( 8.32 usr 6.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 54 wallclock secs (26.60 usr 10.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 122 wallclock secs ( 8.51 usr 3.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Total time: 1332 wallclock secs (254.96 usr 103.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1696 wallclock secs (113.17 usr 64.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 6 wallclock secs ( 1.67 usr 0.73 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 252.00 0.20 0.10 0.00 992
connect 11.00 6.50 1.98 0.00 10000
connect+select_1_row 14.00 7.49 2.28 0.00 10000
connect+select_simple 12.00 7.41 2.24 0.00 10000
count 46.00 0.02 0.00 0.00 100
count_distinct 124.00 0.57 0.12 0.00 1000
count_distinct_big 629.00 70.62 55.60 0.00 1020
count_distinct_group 77.00 1.14 0.31 0.00 1000
count_distinct_group_on_key 65.00 0.35 0.14 0.00 1000
count_distinct_group_on_key_parts 77.00 1.07 0.35 0.00 1000
count_group_on_key_parts 61.00 1.03 0.31 0.00 1000
count_on_key 573.00 16.47 3.19 0.00 50100
create+drop 26.00 2.17 1.03 0.00 10000
create_MANY_tables 35.00 1.84 0.58 0.00 10000
create_index 4.00 0.00 0.00 0.00 8
create_key+drop 40.00 3.68 0.86 0.00 10000
create_table 1.00 0.01 0.00 0.00 31
delete_big 18.00 0.00 0.00 0.00 13
delete_big_many_keys 1.00 0.00 0.00 0.00 2
delete_key 3.00 0.44 0.38 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 15.00 0.10 0.01 0.00 10000
insert 87.00 18.67 12.96 0.00 350768
insert_duplicates 82.00 17.82 12.50 0.00 300000
insert_key 91.00 8.12 4.12 0.00 100000
insert_many_fields 9.00 0.46 0.10 0.00 2000
min_max 32.00 0.05 0.00 0.00 60
min_max_on_key 210.00 24.91 5.21 0.00 85000
order_by 48.00 20.14 16.88 0.00 10
order_by_key 31.00 20.12 10.64 0.00 10
select_1_row 2.00 0.54 0.83 0.00 10000
select_2_rows 4.00 0.55 0.65 0.00 10000
select_big 37.00 23.14 12.09 0.00 10080
select_column+column 3.00 0.51 0.73 0.00 10000
select_diff_key 205.00 0.19 0.03 0.00 500
select_distinct 11.00 1.74 0.60 0.00 800
select_group 71.00 1.38 0.66 0.00 2711
select_group_when_MANY_tables 6.00 0.71 0.53 0.00 10000
select_join 16.00 4.21 2.17 0.00 200
select_key 125.00 67.84 14.15 0.00 200000
select_key_prefix 127.00 65.92 14.67 0.00 200000
select_many_fields 22.00 7.85 6.78 0.00 2000
select_range 20.00 7.27 1.62 0.00 25420
select_range_prefix 19.00 6.09 1.82 0.00 25010
select_simple 2.00 0.47 0.54 0.00 10000
select_simple_join 1.00 0.64 0.24 0.00 500
update_big 65.00 0.00 0.00 0.00 500
update_of_key 77.00 2.84 2.32 0.00 756
update_of_key_big 33.00 0.02 0.01 0.00 501
update_with_key 97.00 14.16 13.03 0.00 100000
wisc_benchmark 4.00 1.66 0.72 0.00 114
TOTALS 3625.00 439.13 206.08 0.00 1594242
Benchmark DBD suite: 2.8
Date of test: 2000-08-16 21:56:32
Running tests on: Linux 2.2.14-my-SMP i686
Arguments:
Comments: Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F
Limits from: mysql,pg
Server version: PostgreSQL version 7.0.2
ATIS: Total time: 88 wallclock secs (11.97 usr 0.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 50 wallclock secs ( 0.67 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 1244 wallclock secs ( 8.76 usr 0.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 482 wallclock secs (45.81 usr 18.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 8745 wallclock secs (32.62 usr 4.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Estimated total time: 102579 wallclock secs (481.81 usr 72.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Estimated total time: 8574 wallclock secs (124.45 usr 11.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 810 wallclock secs (12.32 usr 1.94 sys + 0.00 cusr 0.00 csys = 0.00 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 46.00 0.32 0.01 0.00 992
connect 129.00 8.57 4.58 0.00 10000
connect+select_1_row 176.00 11.82 5.48 0.00 10000
connect+select_simple 142.00 11.34 5.77 0.00 10000
count 121.00 0.03 0.01 0.00 100
count_distinct 232.00 0.39 0.08 0.00 1000
count_distinct_big 691.00 82.24 2.83 0.00 1020
count_distinct_group 268.00 1.09 0.06 0.00 1000
count_distinct_group_on_key 169.00 0.37 0.07 0.00 1000
count_distinct_group_on_key_parts 267.00 1.11 0.10 0.00 1000
count_group_on_key_parts 238.00 1.01 0.03 0.00 1000
count_on_key 2504.00 13.04 3.07 0.00 50100 +
create+drop 3022.00 10.18 1.71 0.00 10000
create_MANY_tables 455.00 8.09 1.12 0.00 10000
create_index 1.00 0.00 0.00 0.00 8
create_key+drop 3752.00 8.40 1.09 0.00 10000
create_table 1.00 0.02 0.00 0.00 31
delete_big 1915.00 0.00 0.01 0.00 13
delete_big_many_keys 10.00 0.00 0.00 0.00 2
delete_key 256.00 3.10 0.66 0.00 10000
drop_index 0.00 0.00 0.00 0.00 8
drop_table 1.00 0.00 0.00 0.00 28
drop_table_when_MANY_tables 1328.00 2.91 0.56 0.00 10000
insert 8783.00 110.09 19.24 0.00 350768
insert_duplicates 55.00 29.54 3.69 0.00 300000
insert_key 3825.00 33.55 6.09 0.00 100000
insert_many_fields 357.00 1.00 0.17 0.00 2000
min_max 55.00 0.01 0.00 0.00 60
min_max_on_key 10785.00 26.27 4.98 0.00 85000 ++
order_by 103.00 22.05 0.77 0.00 10
order_by_key 118.00 22.03 0.69 0.00 10
select_1_row 7.00 2.56 0.42 0.00 10000
select_2_rows 7.00 2.76 0.42 0.00 10000
select_big 64.00 26.10 1.44 0.00 10080
select_column+column 8.00 2.28 0.49 0.00 10000
select_diff_key 13.00 0.17 0.01 0.00 500
select_distinct 17.00 2.10 0.03 0.00 800
select_group 277.00 1.59 0.13 0.00 2611
select_group_when_MANY_tables 188.00 3.03 0.46 0.00 10000
select_join 13.00 4.80 0.22 0.00 200
select_key 5051.00 66.15 11.60 0.00 200000 +
select_key_prefix 5061.00 67.04 11.03 0.00 200000 +
select_many_fields 886.00 7.75 0.52 0.00 2000
select_range 24336.00 10.60 1.23 0.00 25410 ++
select_range_prefix 24383.00 6.53 0.60 0.00 25000 ++
select_simple 5.00 2.71 0.49 0.00 10000
select_simple_join 3.00 0.76 0.04 0.00 500
update_big 2330.00 0.00 0.00 0.00 500
update_of_key 4738.00 14.09 2.44 0.00 756
update_of_key_big 249.00 0.12 0.01 0.00 501
update_with_key 15050.00 85.10 15.69 0.00 100000
wisc_benchmark 16.00 3.11 0.27 0.00 114
TOTALS 122507.00 717.92 110.41 0.00 1594122 +++++++++
Benchmark DBD suite: 2.8
Date of test: 2000-08-17 11:51:48
Running tests on: Linux 2.2.14-my-SMP i686
Arguments: --fast
Comments: Intel Xeon, 2x550 Mhz, 1G, pg started with -o -F
Limits from: mysql,pg
Server version: PostgreSQL version 7.0.2
ATIS: Total time: 87 wallclock secs (12.00 usr 0.99 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 29 wallclock secs ( 0.58 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 1247 wallclock secs ( 8.78 usr 0.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 484 wallclock secs (47.96 usr 17.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 8745 wallclock secs (32.62 usr 4.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Estimated total time: 16506 wallclock secs (446.80 usr 59.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Estimated total time: 5187 wallclock secs (127.12 usr 9.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 60 wallclock secs (12.14 usr 1.77 sys + 0.00 cusr 0.00 csys = 0.00 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 27.00 0.32 0.05 0.00 992
book-keeping 2680.00 0.04 0.03 0.00 25
connect 129.00 9.33 3.59 0.00 10000
connect+select_1_row 176.00 12.21 5.95 0.00 10000
connect+select_simple 142.00 11.69 5.72 0.00 10000
count 119.00 0.00 0.00 0.00 100
count_distinct 185.00 0.71 0.16 0.00 1000
count_distinct_big 667.00 82.38 2.86 0.00 1020
count_distinct_group 246.00 1.12 0.06 0.00 1000
count_distinct_group_on_key 145.00 0.33 0.07 0.00 1000
count_distinct_group_on_key_parts 246.00 1.09 0.05 0.00 1000
count_group_on_key_parts 216.00 1.37 0.02 0.00 1000
count_on_key 1213.00 15.61 2.51 0.00 50100 +
create+drop 3022.00 10.18 1.71 0.00 10000
create_MANY_tables 455.00 8.09 1.12 0.00 10000
create_index 1.00 0.00 0.00 0.00 8
create_key+drop 3752.00 8.40 1.09 0.00 10000
create_table 1.00 0.01 0.00 0.00 31
delete_big 102.00 0.00 0.00 0.00 13
delete_big_many_keys 2.00 0.00 0.00 0.00 2
delete_key 15.00 2.84 0.49 0.00 10000
drop_index 0.00 0.00 0.00 0.00 8
drop_table 0.00 0.00 0.00 0.00 28
drop_table_when_MANY_tables 1328.00 2.91 0.56 0.00 10000
insert 375.00 103.83 16.23 0.00 350768
insert_duplicates 321.00 88.94 13.94 0.00 300000
insert_key 1367.00 32.13 5.30 0.00 100000
insert_many_fields 356.00 1.12 0.19 0.00 2000
min_max 53.00 0.02 0.00 0.00 60
min_max_on_key 8723.00 25.11 3.76 0.00 85000 ++
order_by 103.00 22.63 0.73 0.00 10
order_by_key 103.00 22.46 0.65 0.00 10
select_1_row 6.00 2.47 0.51 0.00 10000
select_2_rows 7.00 3.12 0.44 0.00 10000
select_big 61.00 26.33 1.34 0.00 10080
select_column+column 8.00 2.78 0.39 0.00 10000
select_diff_key 1.00 0.23 0.02 0.00 500
select_distinct 17.00 2.06 0.13 0.00 800
select_group 264.00 1.55 0.15 0.00 2711
select_group_when_MANY_tables 188.00 3.03 0.46 0.00 10000
select_join 13.00 4.77 0.26 0.00 200
select_key 188.00 65.70 9.45 0.00 200000
select_key_prefix 188.00 65.88 9.55 0.00 200000
select_many_fields 886.00 7.63 0.72 0.00 2000
select_range 66.00 7.49 0.74 0.00 25420
select_range_prefix 44.00 6.28 0.79 0.00 25010
select_simple 4.00 2.62 0.47 0.00 10000
select_simple_join 3.00 0.79 0.07 0.00 500
update_big 1832.00 0.00 0.00 0.00 500
update_of_key 1588.00 14.08 2.18 0.00 756
update_of_key_big 559.00 0.21 0.01 0.00 501
update_with_key 449.00 91.48 14.02 0.00 100000
wisc_benchmark 15.00 3.21 0.28 0.00 114
TOTALS 32657.00 776.58 108.82 0.00 1594267 +++
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 17:47:38
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 0 wallclock secs ( 0.06 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 252 wallclock secs ( 0.20 usr 0.02 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)
Total time: 260 wallclock secs ( 0.27 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 19:11:37
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 0 wallclock secs ( 0.05 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 252 wallclock secs ( 0.20 usr 0.10 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)
Total time: 260 wallclock secs ( 0.26 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-16 1:58:36
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.35 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 46 wallclock secs ( 0.32 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 50 wallclock secs ( 0.67 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-17 3:09:56
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.26 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 27 wallclock secs ( 0.32 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 29 wallclock secs ( 0.58 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 17:51:59
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.07 usr 3.17 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 ( 3.82 usr 3.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 3 wallclock secs ( 0.23 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 5 wallclock secs ( 0.06 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 30 wallclock secs ( 8.19 usr 6.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 19:15:57
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 ( 3.76 usr 3.45 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.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 3 wallclock secs ( 0.41 usr 0.06 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.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 31 wallclock secs ( 8.32 usr 6.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-16 1:59:26
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): 389 wallclock secs ( 3.71 usr 0.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): 497 wallclock secs ( 4.04 usr 0.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 143 wallclock secs ( 0.43 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 214 wallclock secs ( 0.57 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1244 wallclock secs ( 8.76 usr 0.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-17 3:10:25
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select * from table with 1 record
Time to select_many_fields(1000): 398 wallclock secs ( 3.66 usr 0.36 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): 488 wallclock secs ( 3.97 usr 0.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 143 wallclock secs ( 0.41 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 2 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 213 wallclock secs ( 0.71 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1247 wallclock secs ( 8.78 usr 0.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 17:52:30
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): 10 wallclock secs ( 6.60 usr 1.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 13 wallclock secs ( 7.36 usr 2.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.52 usr 0.49 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): 13 wallclock secs ( 7.08 usr 2.47 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.74 usr 0.62 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.45 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 3 wallclock secs ( 0.52 usr 0.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (7000 bytes)
Time to select_big (10000): 6 wallclock secs ( 2.98 usr 1.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 53 wallclock secs (26.25 usr 9.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 19:16:28
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): 11 wallclock secs ( 6.50 usr 1.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 12 wallclock secs ( 7.41 usr 2.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.47 usr 0.54 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): 14 wallclock secs ( 7.49 usr 2.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 2 wallclock secs ( 0.54 usr 0.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 4 wallclock secs ( 0.55 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 3 wallclock secs ( 0.51 usr 0.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (7000 bytes)
Time to select_big (10000): 6 wallclock secs ( 3.12 usr 1.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 54 wallclock secs (26.60 usr 10.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-15 17:01:48
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): 129 wallclock secs ( 8.57 usr 4.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 142 wallclock secs (11.34 usr 5.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 5 wallclock secs ( 2.71 usr 0.49 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): 176 wallclock secs (11.82 usr 5.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 7 wallclock secs ( 2.56 usr 0.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 7 wallclock secs ( 2.76 usr 0.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 8 wallclock secs ( 2.28 usr 0.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (7000 bytes)
Time to select_big (10000): 8 wallclock secs ( 3.76 usr 0.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 482 wallclock secs (45.81 usr 18.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-17 3:31:12
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): 129 wallclock secs ( 9.33 usr 3.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 142 wallclock secs (11.69 usr 5.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 4 wallclock secs ( 2.62 usr 0.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 0 wallclock secs ( 0.01 usr 0.00 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): 176 wallclock secs (12.21 usr 5.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 6 wallclock secs ( 2.47 usr 0.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 7 wallclock secs ( 3.12 usr 0.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 8 wallclock secs ( 2.78 usr 0.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (7000 bytes)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_big (10000): 8 wallclock secs ( 3.71 usr 0.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 484 wallclock secs (47.96 usr 17.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 17:53:24
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): 32 wallclock secs ( 1.97 usr 0.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 14 wallclock secs ( 0.68 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 9 wallclock secs ( 0.44 usr 0.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 26 wallclock secs ( 2.10 usr 0.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 40 wallclock secs ( 3.64 usr 0.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 121 wallclock secs ( 8.83 usr 3.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 19:17:23
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): 35 wallclock secs ( 1.84 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 6 wallclock secs ( 0.71 usr 0.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 15 wallclock secs ( 0.10 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 26 wallclock secs ( 2.17 usr 1.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 40 wallclock secs ( 3.68 usr 0.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 122 wallclock secs ( 8.51 usr 3.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-15 17:09:50
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): 455 wallclock secs ( 8.09 usr 1.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 188 wallclock secs ( 3.03 usr 0.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 1328 wallclock secs ( 2.91 usr 0.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 3022 wallclock secs (10.18 usr 1.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 3752 wallclock secs ( 8.40 usr 1.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 8745 wallclock secs (32.62 usr 4.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-15 17:09:50
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): 455 wallclock secs ( 8.09 usr 1.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 188 wallclock secs ( 3.03 usr 0.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 1328 wallclock secs ( 2.91 usr 0.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 3022 wallclock secs (10.18 usr 1.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 3752 wallclock secs ( 8.40 usr 1.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 8745 wallclock secs (32.62 usr 4.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version ???' at 2000-08-17 1:22:04
Testing the speed of creating and droping tables
Testing with 10000 tables and 10000 loop count
NOTICE: Vacuum: table not found
Time for book-keeping (1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create of tables
Time for create_MANY_tables (10000): 453 wallclock secs ( 7.88 usr 1.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: RegisterSharedInvalid: SI buffer overflow
NOTICE: RegisterSharedInvalid: SI buffer overflow
NOTICE: RegisterSharedInvalid: SI buffer overflow
NOTICE: RegisterSharedInvalid: SI buffer overflow
NOTICE: InvalidateSharedInvalid: cache state reset
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1410 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 181 wallclock secs ( 2.90 usr 0.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
NOTICE: ShmemAlloc: out of memory
NOTICE: LockAcquire: xid table corrupted
ERROR: LockRelation: LockAcquire failed
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 17:55:26
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): 113 wallclock secs (18.31 usr 11.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_duplicates (300000): 113 wallclock secs (18.31 usr 11.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 30 wallclock secs (19.98 usr 10.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 31 wallclock secs (19.75 usr 10.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 47 wallclock secs (19.72 usr 16.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 210 wallclock secs ( 0.28 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 10 wallclock secs ( 2.48 usr 0.55 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (5010:42084): 11 wallclock secs ( 2.61 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 130 wallclock secs (67.36 usr 13.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 129 wallclock secs (66.05 usr 14.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 8 wallclock secs ( 3.59 usr 0.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (20000:43500): 8 wallclock secs ( 3.74 usr 0.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 58 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.40 usr 0.88 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 31 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 56 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 46 wallclock secs ( 0.07 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 64 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (500): 25 wallclock secs ( 2.51 usr 2.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 33 wallclock secs ( 0.06 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (100000): 109 wallclock secs (13.71 usr 11.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 65 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (10000): 4 wallclock secs ( 0.50 usr 0.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_big (12): 20 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): 159 wallclock secs ( 8.91 usr 4.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 67 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big_many_keys (2): 120 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1592 wallclock secs (254.20 usr 98.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 19:19:26
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): 82 wallclock secs (17.82 usr 12.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_duplicates (300000): 82 wallclock secs (17.82 usr 12.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 31 wallclock secs (19.92 usr 10.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 31 wallclock secs (20.12 usr 10.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 48 wallclock secs (20.14 usr 16.88 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 205 wallclock secs ( 0.19 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 11 wallclock secs ( 2.64 usr 0.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (5010:42084): 10 wallclock secs ( 2.77 usr 0.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 127 wallclock secs (65.92 usr 14.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 125 wallclock secs (67.84 usr 14.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 8 wallclock secs ( 3.45 usr 1.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (20000:43500): 7 wallclock secs ( 3.71 usr 0.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 58 wallclock secs ( 0.04 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 8 wallclock secs ( 4.68 usr 1.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 32 wallclock secs ( 0.05 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 56 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 46 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 63 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (500): 23 wallclock secs ( 2.80 usr 2.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 33 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (100000): 97 wallclock secs (14.16 usr 13.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 65 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.44 usr 0.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_big (12): 17 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): 91 wallclock secs ( 8.12 usr 4.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 54 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big_many_keys (2): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1332 wallclock secs (254.96 usr 103.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-16 2:20:11
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): 7729 wallclock secs (94.80 usr 16.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (300000): 55 wallclock secs (29.54 usr 3.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 53 wallclock secs (22.20 usr 0.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 118 wallclock secs (22.03 usr 0.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 103 wallclock secs (22.05 usr 0.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 13 wallclock secs ( 0.17 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
165 queries in 165 loops of 5000 loops took 605 seconds
Estimated time for select_range_prefix (5000:1386): 18333 wallclock secs ( 3.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
165 queries in 165 loops of 5000 loops took 603 seconds
Estimated time for select_range (5000:1386): 18272 wallclock secs ( 5.45 usr 0.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
23746 queries in 11873 loops of 100000 loops took 601 seconds
Estimated time for select_key_prefix (200000): 5061 wallclock secs (67.04 usr 11.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
23796 queries in 11898 loops of 100000 loops took 601 seconds
Estimated time for select_key (200000): 5051 wallclock secs (66.15 usr 11.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Note: Query took longer then time-limit: 600
Estimating end time based on:
2000 queries in 50 loops of 500 loops took 605 seconds
Estimated time for select_range_prefix (20000:4350): 6050 wallclock secs ( 3.50 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
2000 queries in 50 loops of 500 loops took 603 seconds
Estimated time for select_range (20000:4350): 6030 wallclock secs ( 4.30 usr 0.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 233 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
1362 queries in 227 loops of 2500 loops took 601 seconds
Estimated time for min_max_on_key (15000): 6618 wallclock secs ( 5.40 usr 0.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 55 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 116 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 121 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 139 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (500): 2520 wallclock secs (13.97 usr 2.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 249 wallclock secs ( 0.12 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (100000): 15050 wallclock secs (85.10 usr 15.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 2330 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (10000): 256 wallclock secs ( 3.10 usr 0.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_big (12): 1914 wallclock secs ( 0.00 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): 3825 wallclock secs (33.55 usr 6.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 2218 wallclock secs ( 0.12 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big_many_keys (2): 10 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Estimated total time: 102579 wallclock secs (481.81 usr 72.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-17 3:39:16
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): 315 wallclock secs (88.93 usr 13.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 6 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_duplicates (300000): 321 wallclock secs (88.94 usr 13.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 3 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 52 wallclock secs (22.48 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 103 wallclock secs (22.46 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 103 wallclock secs (22.63 usr 0.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 1 wallclock secs ( 0.23 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 30 wallclock secs ( 2.82 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (5010:42084): 29 wallclock secs ( 3.04 usr 0.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 188 wallclock secs (65.88 usr 9.55 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 188 wallclock secs (65.70 usr 9.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 14 wallclock secs ( 3.46 usr 0.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (20000:43500): 13 wallclock secs ( 3.53 usr 0.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 223 wallclock secs ( 0.04 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
1446 queries in 241 loops of 2500 loops took 602 seconds
Estimated time for min_max_on_key (15000): 6244 wallclock secs ( 4.77 usr 0.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 53 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 112 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 119 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 138 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (500): 97 wallclock secs (14.01 usr 2.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 41 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 559 wallclock secs ( 0.21 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 115 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (100000): 449 wallclock secs (91.48 usr 14.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 1832 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (10000): 15 wallclock secs ( 2.84 usr 0.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_big (12): 100 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 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): 1367 wallclock secs (32.13 usr 5.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 8 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 1491 wallclock secs ( 0.07 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 2489 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big_many_keys (2): 2 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Estimated total time: 16506 wallclock secs (446.80 usr 59.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 18:22:00
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 12 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 4 wallclock secs ( 0.81 usr 0.43 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.13 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:75949): 2 wallclock secs ( 0.65 usr 0.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 205 wallclock secs (20.60 usr 3.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 518 wallclock secs (16.08 usr 3.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:0): 61 wallclock secs ( 1.09 usr 0.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (1000:2000): 124 wallclock secs ( 0.65 usr 0.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 64 wallclock secs ( 0.37 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 77 wallclock secs ( 0.93 usr 0.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 77 wallclock secs ( 0.94 usr 0.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 559 wallclock secs (69.04 usr 55.99 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1692 wallclock secs (111.29 usr 65.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 19:41:39
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 12 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 4 wallclock secs ( 0.85 usr 0.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
Time for select_big (70:17207): 0 wallclock secs ( 0.10 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:75949): 3 wallclock secs ( 0.79 usr 0.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 202 wallclock secs (20.23 usr 4.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 517 wallclock secs (16.44 usr 3.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:0): 61 wallclock secs ( 1.03 usr 0.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (1000:2000): 124 wallclock secs ( 0.57 usr 0.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 65 wallclock secs ( 0.35 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 77 wallclock secs ( 1.07 usr 0.35 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 77 wallclock secs ( 1.14 usr 0.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 566 wallclock secs (70.60 usr 55.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1696 wallclock secs (113.17 usr 64.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-16 13:49:53
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 12 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 254 wallclock secs ( 3.38 usr 0.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
Time for select_big (70:17207): 3 wallclock secs ( 0.14 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:75949): 34 wallclock secs ( 0.85 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
10094 queries in 1442 loops of 10000 loops took 601 seconds
Estimated time for min_max_on_key (70000): 4167 wallclock secs (20.87 usr 4.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
12580 queries in 2516 loops of 10000 loops took 601 seconds
Estimated time for count_on_key (50000): 2388 wallclock secs (13.00 usr 3.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:0): 238 wallclock secs ( 1.01 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (1000:2000): 232 wallclock secs ( 0.39 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 169 wallclock secs ( 0.37 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 267 wallclock secs ( 1.11 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 268 wallclock secs ( 1.09 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 552 wallclock secs (82.22 usr 2.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Estimated total time: 8574 wallclock secs (124.45 usr 11.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-17 6:40:22
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 12 ranges.
Creating table
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting 10000 rows
Time to insert (10000): 12 wallclock secs ( 3.13 usr 0.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 0 wallclock secs ( 0.00 usr 0.01 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.14 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:75949): 24 wallclock secs ( 0.92 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
16968 queries in 2424 loops of 10000 loops took 601 seconds
Estimated time for min_max_on_key (70000): 2479 wallclock secs (20.34 usr 2.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Note: Query took longer then time-limit: 600
Estimating end time based on:
27270 queries in 5454 loops of 10000 loops took 601 seconds
Estimated time for count_on_key (50000): 1101 wallclock secs (15.60 usr 2.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:0): 216 wallclock secs ( 1.37 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (1000:2000): 185 wallclock secs ( 0.71 usr 0.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 145 wallclock secs ( 0.33 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 246 wallclock secs ( 1.09 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 246 wallclock secs ( 1.12 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 529 wallclock secs (82.37 usr 2.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Estimated total time: 5187 wallclock secs (127.12 usr 9.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 18:50:12
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): 11 wallclock secs ( 1.12 usr 0.93 sys + 0.00 cusr 0.00 csys = 0.00 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): 4 wallclock secs ( 1.75 usr 0.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 16 wallclock secs ( 2.87 usr 1.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.22 beta' at 2000-08-17 20:09:56
Wisconsin benchmark test
Time for create_table (3): 0 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 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): 4 wallclock secs ( 1.66 usr 0.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 6 wallclock secs ( 1.67 usr 0.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-16 14:43:33
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): 791 wallclock secs ( 9.20 usr 1.66 sys + 0.00 cusr 0.00 csys = 0.00 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): 16 wallclock secs ( 3.11 usr 0.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 810 wallclock secs (12.32 usr 1.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'PostgreSQL version 7.0.2' at 2000-08-17 7:27:10
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)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 39 wallclock secs ( 8.92 usr 1.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 2 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 2 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (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): 15 wallclock secs ( 3.21 usr 0.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
NOTICE: Vacuum: table not found
Time for book-keeping (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 60 wallclock secs (12.14 usr 1.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
...@@ -522,7 +522,7 @@ sub print_value ...@@ -522,7 +522,7 @@ sub print_value
} }
else else
{ {
$first=1 if (!$first == 0);# Assume that it took one second instead of 0 $first=1 if ($first == 0); # Assume that it took one second instead of 0
$tmp= sprintf("%.2f",$value/$first); $tmp= sprintf("%.2f",$value/$first);
} }
if (defined($flags)) if (defined($flags))
......
...@@ -223,7 +223,7 @@ if ($limits->{'unique_index'}) ...@@ -223,7 +223,7 @@ if ($limits->{'unique_index'})
{ {
$tmpvar^= ((($tmpvar + 63) + $i)*3 % $opt_loop_count); $tmpvar^= ((($tmpvar + 63) + $i)*3 % $opt_loop_count);
$tmp=$tmpvar % ($total_rows); $tmp=$tmpvar % ($total_rows);
$tmpquery = "$query" . "$tmp" . ",1,2,'D')"; $tmpquery = "$query ($tmp,1,2,'D')";
if ($dbh->do($tmpquery)) if ($dbh->do($tmpquery))
{ {
die "Didn't get an error when inserting duplicate record $tmp\n"; die "Didn't get an error when inserting duplicate record $tmp\n";
......
...@@ -246,7 +246,9 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt) ...@@ -246,7 +246,9 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt)
if (!mi_is_crashed(file) && if (!mi_is_crashed(file) &&
(((param.testflag & T_CHECK_ONLY_CHANGED) && (((param.testflag & T_CHECK_ONLY_CHANGED) &&
!share->state.changed && share->state.open_count == 0) || (share->state.changed & (STATE_CHANGED | STATE_CRASHED |
STATE_CRASHED_ON_REPAIR)) &&
share->state.open_count == 0) ||
((param.testflag & T_FAST) && share->state.open_count == 0))) ((param.testflag & T_FAST) && share->state.open_count == 0)))
return HA_CHECK_ALREADY_CHECKED; return HA_CHECK_ALREADY_CHECKED;
...@@ -269,14 +271,18 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt) ...@@ -269,14 +271,18 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt)
} }
if (!error) if (!error)
{ {
if (share->state.changed || (param.testflag & T_STATISTICS)) if ((share->state.changed & (STATE_CHANGED |
STATE_CRASHED_ON_REPAIR |
STATE_CRASHED | STATE_NOT_ANALYZED)) ||
(param.testflag & T_STATISTICS))
{ {
file->update|=HA_STATE_CHANGED | HA_STATE_ROW_CHANGED; file->update|=HA_STATE_CHANGED | HA_STATE_ROW_CHANGED;
pthread_mutex_lock(&share->intern_lock); pthread_mutex_lock(&share->intern_lock);
#ifndef HAVE_PREAD #ifndef HAVE_PREAD
pthread_mutex_lock(&THR_LOCK_keycache); // QQ; Has to be removed! pthread_mutex_lock(&THR_LOCK_keycache); // QQ; Has to be removed!
#endif #endif
share->state.changed=0; share->state.changed&= ~(STATE_CHANGED | STATE_CRASHED |
STATE_CRASHED_ON_REPAIR);
if (!(table->db_stat & HA_READ_ONLY)) if (!(table->db_stat & HA_READ_ONLY))
error=update_state_info(&param,file,UPDATE_TIME | UPDATE_OPEN_COUNT | error=update_state_info(&param,file,UPDATE_TIME | UPDATE_OPEN_COUNT |
UPDATE_STAT); UPDATE_STAT);
...@@ -306,7 +312,7 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt) ...@@ -306,7 +312,7 @@ int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt)
int ha_myisam::analyze(THD *thd) int ha_myisam::analyze(THD *thd)
{ {
int error; int error=0;
MI_CHECK param; MI_CHECK param;
MYISAM_SHARE* share = file->s; MYISAM_SHARE* share = file->s;
...@@ -318,6 +324,8 @@ int ha_myisam::analyze(THD *thd) ...@@ -318,6 +324,8 @@ int ha_myisam::analyze(THD *thd)
T_DONT_CHECK_CHECKSUM); T_DONT_CHECK_CHECKSUM);
param.using_global_keycache = 1; param.using_global_keycache = 1;
if (share->state.changed & STATE_NOT_ANALYZED)
{
error = chk_key(&param, file); error = chk_key(&param, file);
if (!error) if (!error)
{ {
...@@ -333,6 +341,7 @@ int ha_myisam::analyze(THD *thd) ...@@ -333,6 +341,7 @@ int ha_myisam::analyze(THD *thd)
} }
else if (!mi_is_crashed(file)) else if (!mi_is_crashed(file))
mi_mark_crashed(file); mi_mark_crashed(file);
}
return error ? HA_CHECK_CORRUPT : HA_CHECK_OK; return error ? HA_CHECK_CORRUPT : HA_CHECK_OK;
} }
...@@ -373,9 +382,10 @@ int ha_myisam::repair(THD *thd, MI_CHECK &param) ...@@ -373,9 +382,10 @@ int ha_myisam::repair(THD *thd, MI_CHECK &param)
error= mi_repair(&param, file, fixed_name, param.opt_rep_quick); error= mi_repair(&param, file, fixed_name, param.opt_rep_quick);
if (!error) if (!error)
{ {
if (share->state.changed) if (share->state.changed & STATE_CHANGED)
{ {
share->state.changed = 0; share->state.changed&= ~(STATE_CHANGED | STATE_CRASHED |
STATE_CRASHED_ON_REPAIR);
file->update|=HA_STATE_CHANGED | HA_STATE_ROW_CHANGED; file->update|=HA_STATE_CHANGED | HA_STATE_ROW_CHANGED;
} }
file->save_state=file->s->state.state; file->save_state=file->s->state.state;
......
...@@ -191,7 +191,6 @@ static SYMBOL symbols[] = { ...@@ -191,7 +191,6 @@ static SYMBOL symbols[] = {
{ "LONGBLOB", SYM(LONGBLOB),0,0}, { "LONGBLOB", SYM(LONGBLOB),0,0},
{ "LONGTEXT", SYM(LONGTEXT),0,0}, { "LONGTEXT", SYM(LONGTEXT),0,0},
{ "LOW_PRIORITY", SYM(LOW_PRIORITY),0,0}, { "LOW_PRIORITY", SYM(LOW_PRIORITY),0,0},
{ "MAX", SYM(MAX_SYM),0,0},
{ "MASTER", SYM(MASTER_SYM),0,0}, { "MASTER", SYM(MASTER_SYM),0,0},
{ "MASTER_CONNECT_RETRY", SYM(MASTER_CONNECT_RETRY_SYM),0,0}, { "MASTER_CONNECT_RETRY", SYM(MASTER_CONNECT_RETRY_SYM),0,0},
{ "MASTER_HOST", SYM(MASTER_HOST_SYM),0,0}, { "MASTER_HOST", SYM(MASTER_HOST_SYM),0,0},
...@@ -388,6 +387,7 @@ static SYMBOL sql_functions[] = { ...@@ -388,6 +387,7 @@ static SYMBOL sql_functions[] = {
{ "LPAD", SYM(FUNC_ARG3),0,CREATE_FUNC(create_func_lpad)}, { "LPAD", SYM(FUNC_ARG3),0,CREATE_FUNC(create_func_lpad)},
{ "LTRIM", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ltrim)}, { "LTRIM", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ltrim)},
{ "MAKE_SET", SYM(MAKE_SET_SYM),0,0}, { "MAKE_SET", SYM(MAKE_SET_SYM),0,0},
{ "MAX", SYM(MAX_SYM),0,0},
{ "MD5", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_md5)}, { "MD5", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_md5)},
{ "MID", SYM(SUBSTRING),0,0}, /* unireg function */ { "MID", SYM(SUBSTRING),0,0}, /* unireg function */
{ "MIN", SYM(MIN_SYM),0,0}, { "MIN", SYM(MIN_SYM),0,0},
......
...@@ -2367,7 +2367,6 @@ keyword: ...@@ -2367,7 +2367,6 @@ keyword:
| LOCAL_SYM {} | LOCAL_SYM {}
| LOGS_SYM {} | LOGS_SYM {}
| MAX_ROWS {} | MAX_ROWS {}
| MAX_SYM {}
| MASTER_SYM {} | MASTER_SYM {}
| MASTER_HOST_SYM {} | MASTER_HOST_SYM {}
| MASTER_PORT_SYM {} | MASTER_PORT_SYM {}
......
...@@ -85,3 +85,6 @@ if ASSEMBLER ...@@ -85,3 +85,6 @@ if ASSEMBLER
%.o : %.s %.o : %.s
$(AS) -o $@ $< $(AS) -o $@ $<
endif endif
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -88,3 +88,6 @@ SUFFIXES = .sh ...@@ -88,3 +88,6 @@ SUFFIXES = .sh
-e 's!@''PERL_DATA_DUMPER''@!@PERL_DATA_DUMPER@!' \ -e 's!@''PERL_DATA_DUMPER''@!@PERL_DATA_DUMPER@!' \
$< > $@-t $< > $@-t
@MV@ $@-t $@ @MV@ $@-t $@
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -25,3 +25,6 @@ EXTRA_DIST = auto_increment.res auto_increment.tst \ ...@@ -25,3 +25,6 @@ EXTRA_DIST = auto_increment.res auto_increment.tst \
grant.pl grant.res test_delayed_insert.pl \ grant.pl grant.res test_delayed_insert.pl \
pmail.pl mail_to_db.pl table_types.pl \ pmail.pl mail_to_db.pl table_types.pl \
udf_test udf_test.res udf_test udf_test.res
# Don't update the files from bitkeeper
%::SCCS/s.%
...@@ -17,8 +17,6 @@ ...@@ -17,8 +17,6 @@
INCLUDES = -I$(srcdir)/../include -I../include \ INCLUDES = -I$(srcdir)/../include -I../include \
@OPENSSL_INCLUDES@ @OPENSSL_INCLUDES@
LDADD = libvio.la LDADD = libvio.la
pkglib_LTLIBRARIES = libvio.la pkglib_LTLIBRARIES = libvio.la
noinst_PROGRAMS = noinst_PROGRAMS =
noinst_HEADERS = noinst_HEADERS =
...@@ -42,3 +40,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\ ...@@ -42,3 +40,6 @@ OMIT_DEPENDENCIES = pthread.h stdio.h __stdio.h stdlib.h __stdlib.h math.h\
openssl/x509 openssl/ssl.h openssl/err.h \ openssl/x509 openssl/ssl.h openssl/err.h \
openssl/pem.h openssl/asn1.h openssl/pem.h openssl/asn1.h
# Don't update the files from bitkeeper
%::SCCS/s.%
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