Commit f48ed453 authored by serg@serg.mysql.com's avatar serg@serg.mysql.com

merged

parents 568d72f0 6991ee78
...@@ -44,7 +44,7 @@ pentium_cflags="-mpentiumpro" ...@@ -44,7 +44,7 @@ pentium_cflags="-mpentiumpro"
sparc_cflags="" sparc_cflags=""
fast_cflags="-O6 -fno-omit-frame-pointer" fast_cflags="-O6 -fno-omit-frame-pointer"
reckless_cflags="-O6 -fomit-frame-pointer" reckless_cflags="-O6 -fomit-frame-pointer -ffixed-ebp"
debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O2" debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O2"
base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti" base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
path=`dirname $0` path=`dirname $0`
. "$path/SETUP.sh" . "$path/SETUP.sh"
extra_flags="$pentium_cflags $fast_cflags" extra_flags="$pentium_cflags $reckless_cflags"
extra_configs="$pentium_configs" extra_configs="$pentium_configs"
strip=yes strip=yes
......
...@@ -8,6 +8,6 @@ c_warnings="$c_warnings $debug_extra_warnings" ...@@ -8,6 +8,6 @@ c_warnings="$c_warnings $debug_extra_warnings"
cxx_warnings="$cxx_warnings $debug_extra_warnings" cxx_warnings="$cxx_warnings $debug_extra_warnings"
extra_configs="$pentium_configs $debug_configs" extra_configs="$pentium_configs $debug_configs"
extra_configs="$extra_configs --with-berkeley-db --with-innobase" extra_configs="$extra_configs --with-berkeley-db --with-innodb"
. "$path/FINISH.sh" . "$path/FINISH.sh"
...@@ -7,6 +7,6 @@ extra_flags="$pentium_cflags $fast_cflags" ...@@ -7,6 +7,6 @@ extra_flags="$pentium_cflags $fast_cflags"
extra_configs="$pentium_configs" extra_configs="$pentium_configs"
strip=yes strip=yes
extra_configs="$extra_configs --with-innobase --with-berkeley-db" extra_configs="$extra_configs --with-innodb --with-berkeley-db"
. "$path/FINISH.sh" . "$path/FINISH.sh"
heikki@donna.mysql.fi heikki@donna.mysql.fi
monty@donna.mysql.fi monty@donna.mysql.fi
monty@work.mysql.com monty@work.mysql.com
paul@central.snake.net
sasha@mysql.sashanet.com sasha@mysql.sashanet.com
serg@serg.mysql.com
...@@ -56,7 +56,7 @@ aclocal; autoheader; aclocal; automake; autoconf ...@@ -56,7 +56,7 @@ aclocal; autoheader; aclocal; automake; autoconf
(cd bdb/dist && sh s_all) (cd bdb/dist && sh s_all)
(cd innobase && aclocal && autoheader && aclocal && automake && autoconf) (cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
# A normal user starts here. We must use mit-threads, bdb and innobase. # A normal user starts here. We must use mit-threads, bdb and innodb.
# Otherwise they do not end up in the distribution. # Otherwise they do not end up in the distribution.
./configure \ ./configure \
--with-unix-socket-path=/var/tmp/mysql.sock \ --with-unix-socket-path=/var/tmp/mysql.sock \
...@@ -64,7 +64,7 @@ aclocal; autoheader; aclocal; automake; autoconf ...@@ -64,7 +64,7 @@ aclocal; autoheader; aclocal; automake; autoconf
--with-mit-threads=yes $EXTRA_CONFIG \ --with-mit-threads=yes $EXTRA_CONFIG \
--enable-thread-safe-client \ --enable-thread-safe-client \
--with-berkeley-db \ --with-berkeley-db \
--with-innobase --with-innodb
gmake -j 2 gmake -j 2
......
This diff is collapsed.
...@@ -912,31 +912,31 @@ dnl END OF MYSQL_CHECK_BDB SECTION ...@@ -912,31 +912,31 @@ dnl END OF MYSQL_CHECK_BDB SECTION
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_INNOBASE dnl Macro: MYSQL_CHECK_INNODB
dnl Sets HAVE_INNOBASE_DB if --with-innobase is used dnl Sets HAVE_INNOBASE_DB if --with-innodb is used
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_CHECK_INNOBASE], [ AC_DEFUN([MYSQL_CHECK_INNODB], [
AC_ARG_WITH([innobase], AC_ARG_WITH([innodb],
[\ [\
--with-innobase Use Innobase], --with-innodb Use Innodb],
[innobase="$withval"], [innodb="$withval"],
[innobase=no]) [innodb=no])
AC_MSG_CHECKING([for Innobase]) AC_MSG_CHECKING([for Innodb])
have_innobase_db=no have_innodb=no
innobase_includes= innodb_includes=
innobase_libs= innodb_libs=
case "$innobase" in case "$innodb" in
yes ) yes )
AC_MSG_RESULT([Using Innobase]) AC_MSG_RESULT([Using Innodb])
AC_DEFINE(HAVE_INNOBASE_DB) AC_DEFINE(HAVE_INNOBASE_DB)
have_innobase_db="yes" have_innodb="yes"
innobase_includes="-I../innobase/include" innodb_includes="-I../innobase/include"
dnl Some libs are listed several times, in order for gcc to sort out dnl Some libs are listed several times, in order for gcc to sort out
dnl circular references. dnl circular references.
innobase_libs="\ innodb_libs="\
../innobase/usr/libusr.a\ ../innobase/usr/libusr.a\
../innobase/odbc/libodbc.a\ ../innobase/odbc/libodbc.a\
../innobase/srv/libsrv.a\ ../innobase/srv/libsrv.a\
...@@ -973,19 +973,19 @@ dnl circular references. ...@@ -973,19 +973,19 @@ dnl circular references.
../innobase/os/libos.a\ ../innobase/os/libos.a\
../innobase/ut/libut.a" ../innobase/ut/libut.a"
AC_CHECK_LIB(rt, aio_read, [innobase_libs="$innobase_libs -lrt"]) AC_CHECK_LIB(rt, aio_read, [innodb_libs="$innodb_libs -lrt"])
;; ;;
* ) * )
AC_MSG_RESULT([Not using Innobase]) AC_MSG_RESULT([Not using Innodb])
;; ;;
esac esac
AC_SUBST(innobase_includes) AC_SUBST(innodb_includes)
AC_SUBST(innobase_libs) AC_SUBST(innodb_libs)
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl END OF MYSQL_CHECK_INNOBASE SECTION dnl END OF MYSQL_CHECK_INNODB SECTION
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
......
...@@ -36,6 +36,8 @@ subdirs = btree build_vxworks build_win32 clib common cxx db db185 \ ...@@ -36,6 +36,8 @@ subdirs = btree build_vxworks build_win32 clib common cxx db db185 \
all: all:
cd $(bdb_build) && $(MAKE) all cd $(bdb_build) && $(MAKE) all
clean:;
# May want to fix this, and MYSQL/configure, to install things # May want to fix this, and MYSQL/configure, to install things
install dvi check installcheck: install dvi check installcheck:
......
...@@ -1923,7 +1923,7 @@ AC_MSG_RESULT([default: $default_charset; compiled in: $CHARSETS]) ...@@ -1923,7 +1923,7 @@ AC_MSG_RESULT([default: $default_charset; compiled in: $CHARSETS])
MYSQL_CHECK_BDB MYSQL_CHECK_BDB
MYSQL_CHECK_INNOBASE MYSQL_CHECK_INNODB
MYSQL_CHECK_GEMINI MYSQL_CHECK_GEMINI
# If we have threads generate some library functions and test programs # If we have threads generate some library functions and test programs
...@@ -2024,14 +2024,14 @@ EOF ...@@ -2024,14 +2024,14 @@ EOF
fi fi
fi fi
if test X"$have_innobase_db" = Xyes if test X"$have_innodb" = Xyes
then then
sql_server_dirs="innobase $sql_server_dirs" sql_server_dirs="innobase $sql_server_dirs"
echo "CONFIGURING FOR INNOBASE DB" echo "CONFIGURING FOR INNODB"
(cd innobase && sh ./configure) \ (cd innobase && sh ./configure) \
|| AC_MSG_ERROR([could not configure Innobase DB]) || AC_MSG_ERROR([could not configure INNODB])
echo "END OF INNOBASE DB CONFIGURATION" echo "END OF INNODB CONFIGURATION"
fi fi
if test "$with_posix_threads" = "no" -o "$with_mit_threads" = "yes" if test "$with_posix_threads" = "no" -o "$with_mit_threads" = "yes"
......
/****************************************************** /******************************************************
Database log Database log
(c) 1995-1997 Innobase Oy (c) 1995-1997 InnoDB Oy
Created 12/9/1995 Heikki Tuuri Created 12/9/1995 Heikki Tuuri
*******************************************************/ *******************************************************/
...@@ -1886,12 +1886,12 @@ loop: ...@@ -1886,12 +1886,12 @@ loop:
if (!ret) { if (!ret) {
fprintf(stderr, fprintf(stderr,
"Innobase: Cannot create or open archive log file %s.\n", "InnoDB: Cannot create or open archive log file %s.\n",
name); name);
fprintf(stderr, "Innobase: Cannot continue operation.\n" fprintf(stderr, "InnoDB: Cannot continue operation.\n"
"Innobase: Check that the log archive directory exists,\n" "InnoDB: Check that the log archive directory exists,\n"
"Innobase: you have access rights to it, and\n" "InnoDB: you have access rights to it, and\n"
"Innobase: there is space available.\n"); "InnoDB: there is space available.\n");
exit(1); exit(1);
} }
...@@ -2628,7 +2628,7 @@ logs_empty_and_mark_files_at_shutdown(void) ...@@ -2628,7 +2628,7 @@ logs_empty_and_mark_files_at_shutdown(void)
dulint lsn; dulint lsn;
ulint arch_log_no; ulint arch_log_no;
fprintf(stderr, "Innobase: Starting shutdown...\n"); fprintf(stderr, "InnoDB: Starting shutdown...\n");
/* Wait until the master thread and all other operations are idle: our /* Wait until the master thread and all other operations are idle: our
algorithm only works if the server is idle at shutdown */ algorithm only works if the server is idle at shutdown */
...@@ -2718,7 +2718,7 @@ loop: ...@@ -2718,7 +2718,7 @@ loop:
fil_flush_file_spaces(FIL_TABLESPACE); fil_flush_file_spaces(FIL_TABLESPACE);
fprintf(stderr, "Innobase: Shutdown completed\n"); fprintf(stderr, "InnoDB: Shutdown completed\n");
} }
/********************************************************** /**********************************************************
......
/****************************************************** /******************************************************
Recovery Recovery
(c) 1997 Innobase Oy (c) 1997 InnoDB Oy
Created 9/20/1997 Heikki Tuuri Created 9/20/1997 Heikki Tuuri
*******************************************************/ *******************************************************/
...@@ -412,7 +412,7 @@ recv_find_max_checkpoint( ...@@ -412,7 +412,7 @@ recv_find_max_checkpoint(
+ LOG_CHECKPOINT_CHECKSUM_1)) { + LOG_CHECKPOINT_CHECKSUM_1)) {
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Checkpoint in group %lu at %lu invalid, %lu, %lu\n", "InnoDB: Checkpoint in group %lu at %lu invalid, %lu, %lu\n",
group->id, field, group->id, field,
fold & 0xFFFFFFFF, fold & 0xFFFFFFFF,
mach_read_from_4(buf mach_read_from_4(buf
...@@ -431,7 +431,7 @@ recv_find_max_checkpoint( ...@@ -431,7 +431,7 @@ recv_find_max_checkpoint(
+ LOG_CHECKPOINT_CHECKSUM_2)) { + LOG_CHECKPOINT_CHECKSUM_2)) {
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Checkpoint in group %lu at %lu invalid, %lu, %lu\n", "InnoDB: Checkpoint in group %lu at %lu invalid, %lu, %lu\n",
group->id, field, group->id, field,
fold & 0xFFFFFFFF, fold & 0xFFFFFFFF,
mach_read_from_4(buf mach_read_from_4(buf
...@@ -451,7 +451,7 @@ recv_find_max_checkpoint( ...@@ -451,7 +451,7 @@ recv_find_max_checkpoint(
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Checkpoint number %lu found in group %lu\n", "InnoDB: Checkpoint number %lu found in group %lu\n",
ut_dulint_get_low(checkpoint_no), group->id); ut_dulint_get_low(checkpoint_no), group->id);
} }
...@@ -470,7 +470,7 @@ recv_find_max_checkpoint( ...@@ -470,7 +470,7 @@ recv_find_max_checkpoint(
if (*max_group == NULL) { if (*max_group == NULL) {
fprintf(stderr, "Innobase: No valid checkpoint found\n"); fprintf(stderr, "InnoDB: No valid checkpoint found\n");
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -866,7 +866,7 @@ recv_recover_page( ...@@ -866,7 +866,7 @@ recv_recover_page(
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Applying log rec type %lu len %lu to space %lu page no %lu\n", "InnoDB: Applying log rec type %lu len %lu to space %lu page no %lu\n",
(ulint)recv->type, recv->len, recv_addr->space, (ulint)recv->type, recv->len, recv_addr->space,
recv_addr->page_no); recv_addr->page_no);
} }
...@@ -1015,7 +1015,7 @@ loop: ...@@ -1015,7 +1015,7 @@ loop:
if (recv_addr->state == RECV_NOT_PROCESSED) { if (recv_addr->state == RECV_NOT_PROCESSED) {
if (!has_printed) { if (!has_printed) {
fprintf(stderr, fprintf(stderr,
"Innobase: Starting an apply batch of log records to the database...\n"); "InnoDB: Starting an apply batch of log records to the database...\n");
has_printed = TRUE; has_printed = TRUE;
} }
...@@ -1082,7 +1082,7 @@ loop: ...@@ -1082,7 +1082,7 @@ loop:
recv_sys_empty_hash(); recv_sys_empty_hash();
if (has_printed) { if (has_printed) {
fprintf(stderr, "Innobase: Apply batch completed\n"); fprintf(stderr, "InnoDB: Apply batch completed\n");
} }
mutex_exit(&(recv_sys->mutex)); mutex_exit(&(recv_sys->mutex));
...@@ -1454,7 +1454,7 @@ loop: ...@@ -1454,7 +1454,7 @@ loop:
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Parsed a single log rec type %lu len %lu space %lu page no %lu\n", "InnoDB: Parsed a single log rec type %lu len %lu space %lu page no %lu\n",
(ulint)type, len, space, page_no); (ulint)type, len, space, page_no);
} }
...@@ -1503,7 +1503,7 @@ loop: ...@@ -1503,7 +1503,7 @@ loop:
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Parsed a multi log rec type %lu len %lu space %lu page no %lu\n", "InnoDB: Parsed a multi log rec type %lu len %lu space %lu page no %lu\n",
(ulint)type, len, space, page_no); (ulint)type, len, space, page_no);
} }
...@@ -1824,7 +1824,7 @@ recv_scan_log_recs( ...@@ -1824,7 +1824,7 @@ recv_scan_log_recs(
if (more_data) { if (more_data) {
fprintf(stderr, fprintf(stderr,
"Innobase: Doing recovery: scanned up to log sequence number %lu %lu\n", "InnoDB: Doing recovery: scanned up to log sequence number %lu %lu\n",
ut_dulint_get_high(*group_scanned_lsn), ut_dulint_get_high(*group_scanned_lsn),
ut_dulint_get_low(*group_scanned_lsn)); ut_dulint_get_low(*group_scanned_lsn));
...@@ -1877,7 +1877,7 @@ recv_group_scan_log_recs( ...@@ -1877,7 +1877,7 @@ recv_group_scan_log_recs(
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Scanned group %lu up to log sequence number %lu %lu\n", "InnoDB: Scanned group %lu up to log sequence number %lu %lu\n",
group->id, group->id,
ut_dulint_get_high(*group_scanned_lsn), ut_dulint_get_high(*group_scanned_lsn),
ut_dulint_get_low(*group_scanned_lsn)); ut_dulint_get_low(*group_scanned_lsn));
...@@ -1977,11 +1977,11 @@ recv_recovery_from_checkpoint_start( ...@@ -1977,11 +1977,11 @@ recv_recovery_from_checkpoint_start(
|| ut_dulint_cmp(checkpoint_lsn, min_flushed_lsn) != 0) { || ut_dulint_cmp(checkpoint_lsn, min_flushed_lsn) != 0) {
fprintf(stderr, fprintf(stderr,
"Innobase: Database was not shut down normally.\n" "InnoDB: Database was not shut down normally.\n"
"Innobase: Starting recovery from log files...\n"); "InnoDB: Starting recovery from log files...\n");
fprintf(stderr, fprintf(stderr,
"Innobase: Starting log scan based on checkpoint at\n" "InnoDB: Starting log scan based on checkpoint at\n"
"Innobase: log sequence number %lu %lu\n", "InnoDB: log sequence number %lu %lu\n",
ut_dulint_get_high(checkpoint_lsn), ut_dulint_get_high(checkpoint_lsn),
ut_dulint_get_low(checkpoint_lsn)); ut_dulint_get_low(checkpoint_lsn));
} }
...@@ -2134,7 +2134,7 @@ recv_recovery_from_checkpoint_finish(void) ...@@ -2134,7 +2134,7 @@ recv_recovery_from_checkpoint_finish(void)
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Log records applied to the database\n"); "InnoDB: Log records applied to the database\n");
} }
/* Free the resources of the recovery system */ /* Free the resources of the recovery system */
...@@ -2246,12 +2246,12 @@ try_open_again: ...@@ -2246,12 +2246,12 @@ try_open_again:
fil_release_right_to_open(); fil_release_right_to_open();
ask_again: ask_again:
fprintf(stderr, fprintf(stderr,
"Innobase: Do you want to copy additional archived log files\n" "InnoDB: Do you want to copy additional archived log files\n"
"Innobase: to the directory\n"); "InnoDB: to the directory\n");
fprintf(stderr, fprintf(stderr,
"Innobase: or were these all the files needed in recovery?\n"); "InnoDB: or were these all the files needed in recovery?\n");
fprintf(stderr, fprintf(stderr,
"Innobase: (Y == copy more files; N == this is all)?"); "InnoDB: (Y == copy more files; N == this is all)?");
input_char = getchar(); input_char = getchar();
...@@ -2271,13 +2271,13 @@ ask_again: ...@@ -2271,13 +2271,13 @@ ask_again:
ut_a(file_size_high == 0); ut_a(file_size_high == 0);
fprintf(stderr, "Innobase: Opened archived log file %s\n", name); fprintf(stderr, "InnoDB: Opened archived log file %s\n", name);
ret = os_file_close(file_handle); ret = os_file_close(file_handle);
if (file_size < LOG_FILE_HDR_SIZE) { if (file_size < LOG_FILE_HDR_SIZE) {
fprintf(stderr, fprintf(stderr,
"Innobase: Archive file header incomplete %s\n", name); "InnoDB: Archive file header incomplete %s\n", name);
return(TRUE); return(TRUE);
} }
...@@ -2302,14 +2302,14 @@ ask_again: ...@@ -2302,14 +2302,14 @@ ask_again:
|| mach_read_from_4(buf + LOG_FILE_NO) || mach_read_from_4(buf + LOG_FILE_NO)
!= group->archived_file_no) { != group->archived_file_no) {
fprintf(stderr, fprintf(stderr,
"Innobase: Archive file header inconsistent %s\n", name); "InnoDB: Archive file header inconsistent %s\n", name);
return(TRUE); return(TRUE);
} }
if (!mach_read_from_4(buf + LOG_FILE_ARCH_COMPLETED)) { if (!mach_read_from_4(buf + LOG_FILE_ARCH_COMPLETED)) {
fprintf(stderr, fprintf(stderr,
"Innobase: Archive file not completely written %s\n", name); "InnoDB: Archive file not completely written %s\n", name);
return(TRUE); return(TRUE);
} }
...@@ -2321,7 +2321,7 @@ ask_again: ...@@ -2321,7 +2321,7 @@ ask_again:
if (ut_dulint_cmp(recv_sys->parse_start_lsn, start_lsn) < 0) { if (ut_dulint_cmp(recv_sys->parse_start_lsn, start_lsn) < 0) {
fprintf(stderr, fprintf(stderr,
"Innobase: Archive log file %s starts from too big a lsn\n", "InnoDB: Archive log file %s starts from too big a lsn\n",
name); name);
return(TRUE); return(TRUE);
} }
...@@ -2332,7 +2332,7 @@ ask_again: ...@@ -2332,7 +2332,7 @@ ask_again:
if (ut_dulint_cmp(recv_sys->scanned_lsn, start_lsn) != 0) { if (ut_dulint_cmp(recv_sys->scanned_lsn, start_lsn) != 0) {
fprintf(stderr, fprintf(stderr,
"Innobase: Archive log file %s starts from a wrong lsn\n", "InnoDB: Archive log file %s starts from a wrong lsn\n",
name); name);
return(TRUE); return(TRUE);
} }
...@@ -2354,7 +2354,7 @@ ask_again: ...@@ -2354,7 +2354,7 @@ ask_again:
if (log_debug_writes) { if (log_debug_writes) {
fprintf(stderr, fprintf(stderr,
"Innobase: Archive read starting at lsn %lu %lu, len %lu from file %s\n", "InnoDB: Archive read starting at lsn %lu %lu, len %lu from file %s\n",
ut_dulint_get_high(start_lsn), ut_dulint_get_high(start_lsn),
ut_dulint_get_low(start_lsn), ut_dulint_get_low(start_lsn),
len, name); len, name);
...@@ -2375,7 +2375,7 @@ ask_again: ...@@ -2375,7 +2375,7 @@ ask_again:
if (ret) { if (ret) {
fprintf(stderr, fprintf(stderr,
"Innobase: Archive log file %s does not scan right\n", "InnoDB: Archive log file %s does not scan right\n",
name); name);
return(TRUE); return(TRUE);
} }
...@@ -2435,7 +2435,7 @@ recv_recovery_from_archive_start( ...@@ -2435,7 +2435,7 @@ recv_recovery_from_archive_start(
if (!group) { if (!group) {
fprintf(stderr, fprintf(stderr,
"Innobase: There is no log group defined with id %lu!\n", "InnoDB: There is no log group defined with id %lu!\n",
group_id); group_id);
return(DB_ERROR); return(DB_ERROR);
} }
......
...@@ -7,7 +7,7 @@ thread is usually allocated per processor. Win32 ...@@ -7,7 +7,7 @@ thread is usually allocated per processor. Win32
documentation does not know any UMS threads, which suggests documentation does not know any UMS threads, which suggests
that the concept is internal to SQL Server 7. It may mean that that the concept is internal to SQL Server 7. It may mean that
SQL Server 7 does all the scheduling of threads itself, even SQL Server 7 does all the scheduling of threads itself, even
in i/o waits. We should maybe modify Innobase to use the same in i/o waits. We should maybe modify InnoDB to use the same
technique, because thread switches within NT may be too slow. technique, because thread switches within NT may be too slow.
SQL Server 7 also mentions fibers, which are cooperatively SQL Server 7 also mentions fibers, which are cooperatively
...@@ -20,7 +20,7 @@ Windows 2000 will have something called thread pooling ...@@ -20,7 +20,7 @@ Windows 2000 will have something called thread pooling
Another possibility could be to use some very fast user space Another possibility could be to use some very fast user space
thread library. This might confuse NT though. thread library. This might confuse NT though.
(c) 1995 Innobase Oy (c) 1995 InnoDB Oy
Created 10/8/1995 Heikki Tuuri Created 10/8/1995 Heikki Tuuri
*******************************************************/ *******************************************************/
...@@ -1093,7 +1093,7 @@ srv_read_init_val( ...@@ -1093,7 +1093,7 @@ srv_read_init_val(
return(DB_ERROR); return(DB_ERROR);
} }
printf("Error in Innobase booting: keyword %s not found\n", printf("Error in InnoDB booting: keyword %s not found\n",
keyword); keyword);
printf("from the initfile!\n"); printf("from the initfile!\n");
...@@ -1114,7 +1114,7 @@ skip_keyword: ...@@ -1114,7 +1114,7 @@ skip_keyword:
} }
printf( printf(
"Error in Innobase booting: could not read first value after %s\n", "Error in InnoDB booting: could not read first value after %s\n",
keyword); keyword);
printf("from the initfile!\n"); printf("from the initfile!\n");
...@@ -1140,7 +1140,7 @@ skip_keyword: ...@@ -1140,7 +1140,7 @@ skip_keyword:
} }
printf( printf(
"Error in Innobase booting: could not read second value after %s\n", "Error in InnoDB booting: could not read second value after %s\n",
keyword); keyword);
printf("from the initfile!\n"); printf("from the initfile!\n");
...@@ -1156,7 +1156,7 @@ skip_keyword: ...@@ -1156,7 +1156,7 @@ skip_keyword:
} }
printf( printf(
"Error in Innobase booting: numerical value too big after %s\n", "Error in InnoDB booting: numerical value too big after %s\n",
keyword); keyword);
printf("in the initfile!\n"); printf("in the initfile!\n");
...@@ -1173,7 +1173,7 @@ skip_keyword: ...@@ -1173,7 +1173,7 @@ skip_keyword:
} }
printf( printf(
"Error in Innobase booting: numerical value too big after %s\n", "Error in InnoDB booting: numerical value too big after %s\n",
keyword); keyword);
printf("in the initfile!\n"); printf("in the initfile!\n");
...@@ -1523,7 +1523,7 @@ srv_general_init(void) ...@@ -1523,7 +1523,7 @@ srv_general_init(void)
} }
/************************************************************************* /*************************************************************************
Normalizes init parameter values to use units we use inside Innobase. */ Normalizes init parameter values to use units we use inside InnoDB. */
static static
ulint ulint
srv_normalize_init_values(void) srv_normalize_init_values(void)
...@@ -1552,7 +1552,7 @@ srv_normalize_init_values(void) ...@@ -1552,7 +1552,7 @@ srv_normalize_init_values(void)
} }
/************************************************************************* /*************************************************************************
Boots the Innobase server. */ Boots the InnoDB server. */
ulint ulint
srv_boot(void) srv_boot(void)
...@@ -1562,7 +1562,7 @@ srv_boot(void) ...@@ -1562,7 +1562,7 @@ srv_boot(void)
ulint err; ulint err;
/* Transform the init parameter values given by MySQL to /* Transform the init parameter values given by MySQL to
use units we use inside Innobase: */ use units we use inside InnoDB: */
err = srv_normalize_init_values(); err = srv_normalize_init_values();
...@@ -1797,7 +1797,7 @@ loop: ...@@ -1797,7 +1797,7 @@ loop:
} }
/*********************************************************************** /***********************************************************************
Tells the Innobase server that there has been activity in the database Tells the InnoDB server that there has been activity in the database
and wakes up the master thread if it is suspended (not sleeping). Used and wakes up the master thread if it is suspended (not sleeping). Used
in the MySQL interface. Note that there is a small chance that the master in the MySQL interface. Note that there is a small chance that the master
thread stays suspended (we do not protect our operation with the kernel thread stays suspended (we do not protect our operation with the kernel
......
/************************************************************************ /************************************************************************
Starts the Innobase database server Starts the InnoDB database server
(c) 1996-2000 Innobase Oy (c) 1996-2000 InnoDB Oy
Created 2/16/1996 Heikki Tuuri Created 2/16/1996 Heikki Tuuri
*************************************************************************/ *************************************************************************/
...@@ -207,7 +207,7 @@ open_or_create_log_file( ...@@ -207,7 +207,7 @@ open_or_create_log_file(
if (ret == FALSE) { if (ret == FALSE) {
if (os_file_get_last_error() != OS_FILE_ALREADY_EXISTS) { if (os_file_get_last_error() != OS_FILE_ALREADY_EXISTS) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error in creating or opening %s\n", name); "InnoDB: Error in creating or opening %s\n", name);
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -216,7 +216,7 @@ open_or_create_log_file( ...@@ -216,7 +216,7 @@ open_or_create_log_file(
name, OS_FILE_OPEN, OS_FILE_AIO, &ret); name, OS_FILE_OPEN, OS_FILE_AIO, &ret);
if (!ret) { if (!ret) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error in opening %s\n", name); "InnoDB: Error in opening %s\n", name);
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -227,8 +227,8 @@ open_or_create_log_file( ...@@ -227,8 +227,8 @@ open_or_create_log_file(
if (size != UNIV_PAGE_SIZE * srv_log_file_size if (size != UNIV_PAGE_SIZE * srv_log_file_size
|| size_high != 0) { || size_high != 0) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error: log file %s is of different size\n" "InnoDB: Error: log file %s is of different size\n"
"Innobase: than specified in the .cnf file!\n", name); "InnoDB: than specified in the .cnf file!\n", name);
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -236,16 +236,16 @@ open_or_create_log_file( ...@@ -236,16 +236,16 @@ open_or_create_log_file(
*log_file_created = TRUE; *log_file_created = TRUE;
fprintf(stderr, fprintf(stderr,
"Innobase: Log file %s did not exist: new to be created\n", "InnoDB: Log file %s did not exist: new to be created\n",
name); name);
printf("Innobase: Setting log file %s size to %lu\n", printf("InnoDB: Setting log file %s size to %lu\n",
name, UNIV_PAGE_SIZE * srv_log_file_size); name, UNIV_PAGE_SIZE * srv_log_file_size);
ret = os_file_set_size(name, files[i], ret = os_file_set_size(name, files[i],
UNIV_PAGE_SIZE * srv_log_file_size, 0); UNIV_PAGE_SIZE * srv_log_file_size, 0);
if (!ret) { if (!ret) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error in creating %s: probably out of disk space\n", "InnoDB: Error in creating %s: probably out of disk space\n",
name); name);
return(DB_ERROR); return(DB_ERROR);
...@@ -335,7 +335,7 @@ open_or_create_data_files( ...@@ -335,7 +335,7 @@ open_or_create_data_files(
if (os_file_get_last_error() != if (os_file_get_last_error() !=
OS_FILE_ALREADY_EXISTS) { OS_FILE_ALREADY_EXISTS) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error in creating or opening %s\n", "InnoDB: Error in creating or opening %s\n",
name); name);
return(DB_ERROR); return(DB_ERROR);
...@@ -343,9 +343,9 @@ open_or_create_data_files( ...@@ -343,9 +343,9 @@ open_or_create_data_files(
if (one_created) { if (one_created) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error: data files can only be added at the end\n"); "InnoDB: Error: data files can only be added at the end\n");
fprintf(stderr, fprintf(stderr,
"Innobase: of a tablespace, but data file %s existed beforehand.\n", "InnoDB: of a tablespace, but data file %s existed beforehand.\n",
name); name);
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -355,7 +355,7 @@ open_or_create_data_files( ...@@ -355,7 +355,7 @@ open_or_create_data_files(
if (!ret) { if (!ret) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error in opening %s\n", name); "InnoDB: Error in opening %s\n", name);
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -366,8 +366,8 @@ open_or_create_data_files( ...@@ -366,8 +366,8 @@ open_or_create_data_files(
if (size != UNIV_PAGE_SIZE * srv_data_file_sizes[i] if (size != UNIV_PAGE_SIZE * srv_data_file_sizes[i]
|| size_high != 0) { || size_high != 0) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error: data file %s is of different size\n" "InnoDB: Error: data file %s is of different size\n"
"Innobase: than specified in the .cnf file!\n", name); "InnoDB: than specified in the .cnf file!\n", name);
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -382,26 +382,26 @@ open_or_create_data_files( ...@@ -382,26 +382,26 @@ open_or_create_data_files(
if (i > 0) { if (i > 0) {
fprintf(stderr, fprintf(stderr,
"Innobase: Data file %s did not exist: new to be created\n", name); "InnoDB: Data file %s did not exist: new to be created\n", name);
} else { } else {
fprintf(stderr, fprintf(stderr,
"Innobase: The first specified data file %s did not exist:\n" "InnoDB: The first specified data file %s did not exist:\n"
"Innobase: a new database to be created!\n", name); "InnoDB: a new database to be created!\n", name);
*create_new_db = TRUE; *create_new_db = TRUE;
} }
printf("Innobase: Setting file %s size to %lu\n", printf("InnoDB: Setting file %s size to %lu\n",
name, UNIV_PAGE_SIZE * srv_data_file_sizes[i]); name, UNIV_PAGE_SIZE * srv_data_file_sizes[i]);
printf( printf(
"Innobase: Database physically writes the file full: wait...\n"); "InnoDB: Database physically writes the file full: wait...\n");
ret = os_file_set_size(name, files[i], ret = os_file_set_size(name, files[i],
UNIV_PAGE_SIZE * srv_data_file_sizes[i], 0); UNIV_PAGE_SIZE * srv_data_file_sizes[i], 0);
if (!ret) { if (!ret) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error in creating %s: probably out of disk space\n", name); "InnoDB: Error in creating %s: probably out of disk space\n", name);
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -503,7 +503,7 @@ test_measure_cont( ...@@ -503,7 +503,7 @@ test_measure_cont(
} }
/******************************************************************** /********************************************************************
Starts Innobase and creates a new database if database files Starts InnoDB and creates a new database if database files
are not found and the user wants. Server parameters are are not found and the user wants. Server parameters are
read from a file of name "srv_init" in the ib_home directory. */ read from a file of name "srv_init" in the ib_home directory. */
...@@ -606,7 +606,7 @@ innobase_start_or_create_for_mysql(void) ...@@ -606,7 +606,7 @@ innobase_start_or_create_for_mysql(void)
&sum_of_new_sizes); &sum_of_new_sizes);
if (err != DB_SUCCESS) { if (err != DB_SUCCESS) {
fprintf(stderr, "Innobase: Could not open data files\n"); fprintf(stderr, "InnoDB: Could not open data files\n");
return((int) err); return((int) err);
} }
...@@ -634,12 +634,12 @@ innobase_start_or_create_for_mysql(void) ...@@ -634,12 +634,12 @@ innobase_start_or_create_for_mysql(void)
if ((log_opened && create_new_db) if ((log_opened && create_new_db)
|| (log_opened && log_created)) { || (log_opened && log_created)) {
fprintf(stderr, fprintf(stderr,
"Innobase: Error: all log files must be created at the same time.\n" "InnoDB: Error: all log files must be created at the same time.\n"
"Innobase: If you want bigger or smaller log files,\n" "InnoDB: If you want bigger or smaller log files,\n"
"Innobase: shut down the database and make sure there\n" "InnoDB: shut down the database and make sure there\n"
"Innobase: were no errors in shutdown.\n" "InnoDB: were no errors in shutdown.\n"
"Innobase: Then delete the existing log files. Edit the .cnf file\n" "InnoDB: Then delete the existing log files. Edit the .cnf file\n"
"Innobase: and start the database again.\n"); "InnoDB: and start the database again.\n");
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -652,9 +652,9 @@ innobase_start_or_create_for_mysql(void) ...@@ -652,9 +652,9 @@ innobase_start_or_create_for_mysql(void)
if (ut_dulint_cmp(max_flushed_lsn, min_flushed_lsn) != 0 if (ut_dulint_cmp(max_flushed_lsn, min_flushed_lsn) != 0
|| max_arch_log_no != min_arch_log_no) { || max_arch_log_no != min_arch_log_no) {
fprintf(stderr, fprintf(stderr,
"Innobase: Cannot initialize created log files because\n" "InnoDB: Cannot initialize created log files because\n"
"Innobase: data files were not in sync with each other\n" "InnoDB: data files were not in sync with each other\n"
"Innobase: or the data files are corrupt./n"); "InnoDB: or the data files are corrupt./n");
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -662,11 +662,11 @@ innobase_start_or_create_for_mysql(void) ...@@ -662,11 +662,11 @@ innobase_start_or_create_for_mysql(void)
if (ut_dulint_cmp(max_flushed_lsn, ut_dulint_create(0, 1000)) if (ut_dulint_cmp(max_flushed_lsn, ut_dulint_create(0, 1000))
< 0) { < 0) {
fprintf(stderr, fprintf(stderr,
"Innobase: Cannot initialize created log files because\n" "InnoDB: Cannot initialize created log files because\n"
"Innobase: data files are corrupt, or new data files were\n" "InnoDB: data files are corrupt, or new data files were\n"
"Innobase: created when the database was started previous\n" "InnoDB: created when the database was started previous\n"
"Innobase: time but the database was not shut down\n" "InnoDB: time but the database was not shut down\n"
"Innobase: normally after that.\n"); "InnoDB: normally after that.\n");
return(DB_ERROR); return(DB_ERROR);
} }
...@@ -694,7 +694,7 @@ innobase_start_or_create_for_mysql(void) ...@@ -694,7 +694,7 @@ innobase_start_or_create_for_mysql(void)
} else if (srv_archive_recovery) { } else if (srv_archive_recovery) {
fprintf(stderr, fprintf(stderr,
"Innobase: Starting archive recovery from a backup...\n"); "InnoDB: Starting archive recovery from a backup...\n");
err = recv_recovery_from_archive_start( err = recv_recovery_from_archive_start(
min_flushed_lsn, min_flushed_lsn,
...@@ -776,7 +776,7 @@ innobase_start_or_create_for_mysql(void) ...@@ -776,7 +776,7 @@ innobase_start_or_create_for_mysql(void)
/* Create the thread which watches the timeouts for lock waits */ /* Create the thread which watches the timeouts for lock waits */
os_thread_create(&srv_lock_timeout_monitor_thread, NULL, os_thread_create(&srv_lock_timeout_monitor_thread, NULL,
thread_ids + 2 + SRV_MAX_N_IO_THREADS); thread_ids + 2 + SRV_MAX_N_IO_THREADS);
fprintf(stderr, "Innobase: Started\n"); fprintf(stderr, "InnoDB: Started\n");
srv_was_started = TRUE; srv_was_started = TRUE;
srv_is_being_started = FALSE; srv_is_being_started = FALSE;
...@@ -789,7 +789,7 @@ innobase_start_or_create_for_mysql(void) ...@@ -789,7 +789,7 @@ innobase_start_or_create_for_mysql(void)
} }
/******************************************************************** /********************************************************************
Shuts down the Innobase database. */ Shuts down the InnoDB database. */
int int
innobase_shutdown_for_mysql(void) innobase_shutdown_for_mysql(void)
...@@ -799,7 +799,7 @@ innobase_shutdown_for_mysql(void) ...@@ -799,7 +799,7 @@ innobase_shutdown_for_mysql(void)
if (!srv_was_started) { if (!srv_was_started) {
if (srv_is_being_started) { if (srv_is_being_started) {
fprintf(stderr, fprintf(stderr,
"Innobase: Warning: shutting down not properly started database\n"); "InnoDB: Warning: shutting down not properly started database\n");
} }
return(DB_SUCCESS); return(DB_SUCCESS);
} }
......
-- require r/have_innobase.require
show variables like "have_innobase";
-- require r/have_innodb.require
show variables like "have_innodb";
...@@ -193,7 +193,7 @@ then ...@@ -193,7 +193,7 @@ then
fi fi
if $execdir/mysqld --no-defaults --bootstrap --skip-grant-tables \ if $execdir/mysqld --no-defaults --bootstrap --skip-grant-tables \
--basedir=$basedir --datadir=$ldata --skip-innobase --skip-bdb --skip-gemini << END_OF_DATA --basedir=$basedir --datadir=$ldata --skip-innodb --skip-bdb --skip-gemini << END_OF_DATA
use mysql; use mysql;
$c_d $c_d
$i_d $i_d
......
...@@ -20,9 +20,31 @@ TZ=GMT-3; export TZ # for UNIX_TIMESTAMP tests to work ...@@ -20,9 +20,31 @@ TZ=GMT-3; export TZ # for UNIX_TIMESTAMP tests to work
PATH=/bin:/usr/bin:/usr/local/bin:/usr/bsd:/usr/X11R6/bin PATH=/bin:/usr/bin:/usr/local/bin:/usr/bsd:/usr/X11R6/bin
# Standard functions
which ()
{
DIRS=`echo $PATH | tr ":" " "`
for file
do
for dir in $DIRS
do
if test -f $dir/$file
then
echo "$dir/$file"
continue 2
fi
done
echo "which: no $file in ($PATH)"
exit 1
done
}
# No paths below as we can't be sure where the program is! # No paths below as we can't be sure where the program is!
BASENAME=`which basename | head -1` BASENAME=`which basename | head -1`
DIFF=`which diff | head -1`
CAT=cat CAT=cat
CUT=cut CUT=cut
TAIL=tail TAIL=tail
...@@ -268,6 +290,20 @@ prompt_user () ...@@ -268,6 +290,20 @@ prompt_user ()
read unused read unused
} }
show_failed_diff ()
{
reject_file=r/$1.reject
result_file=r/$1.result
if [ -x "$DIFF" ] && [ -f $reject_file ]
then
echo "Below are the diffs between actual and expected results:"
echo "-------------------------------------------------------"
$DIFF -u $result_file $reject_file
echo "-------------------------------------------------------"
echo "Please e-mail the above, along with the output of mysqlbug"
echo "and any other relevant info to bugs@lists.mysql.com"
fi
}
error () { error () {
$ECHO "Error: $1" $ECHO "Error: $1"
...@@ -399,7 +435,7 @@ start_master() ...@@ -399,7 +435,7 @@ start_master()
--core \ --core \
--tmpdir=$MYSQL_TMP_DIR \ --tmpdir=$MYSQL_TMP_DIR \
--language=english \ --language=english \
--innobase_data_file_path=ibdata1:50M \ --innodb_data_file_path=ibdata1:50M \
$SMALL_SERVER \ $SMALL_SERVER \
$EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT" $EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT"
if [ x$DO_DDD = x1 ] if [ x$DO_DDD = x1 ]
...@@ -454,7 +490,7 @@ start_slave() ...@@ -454,7 +490,7 @@ start_slave()
--core \ --core \
--tmpdir=$MYSQL_TMP_DIR \ --tmpdir=$MYSQL_TMP_DIR \
--language=english \ --language=english \
--skip-innobase \ --skip-innodb \
$SMALL_SERVER \ $SMALL_SERVER \
$EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT" $EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT"
if [ x$DO_DDD = x1 ] if [ x$DO_DDD = x1 ]
...@@ -660,6 +696,7 @@ run_testcase () ...@@ -660,6 +696,7 @@ run_testcase ()
$ECHO "$RES$RES_SPACE [ fail ]" $ECHO "$RES$RES_SPACE [ fail ]"
$ECHO $ECHO
error_is error_is
show_failed_diff $tname
$ECHO $ECHO
if [ x$FORCE != x1 ] ; then if [ x$FORCE != x1 ] ; then
$ECHO "Aborting. To continue, re-run with '--force'." $ECHO "Aborting. To continue, re-run with '--force'."
......
count(distinct n) count(distinct n)
10000 100
Variable_name Value Variable_name Value
have_innobase YES have_innodb YES
...@@ -6,8 +6,8 @@ sum(length(word)) ...@@ -6,8 +6,8 @@ sum(length(word))
(@id := id) - id (@id := id) - id
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
127.0.0.1 root 9306 1 master-bin.001 1729137 No 1053 Slave: query ' update t1 set n = n + 1' partially completed on the master and was aborted. There is a chance that your master is inconsistent at this point. If you are sure that your master is ok, run this query manually on the slave and then restart the slave with SET SQL_SLAVE_SKIP_COUNTER=1; SLAVE START; 0 127.0.0.1 root 9306 1 master-bin.001 939 No 1053 Slave: query ' update t1 set n = n + get_lock('crash_lock', 2)' partially completed on the master and was aborted. There is a chance that your master is inconsistent at this point. If you are sure that your master is ok, run this query manually on the slave and then restart the slave with SET SQL_SLAVE_SKIP_COUNTER=1; SLAVE START; 0
count(*) count(*)
30000 10
n n
3456 3456
drop table if exists t1; drop table if exists t1;
create table t1(n int not null, key(n)) delay_key_write = 1; create table t1(n int not null, key(n)) delay_key_write = 1;
let $1=10000; let $1=100;
while ($1) while ($1)
{ {
eval insert into t1 values($1); eval insert into t1 values($1);
......
-- source include/have_innobase.inc -- source include/have_innodb.inc
# #
# Small basic test with ignore # Small basic test with ignore
......
...@@ -30,7 +30,7 @@ reset slave; ...@@ -30,7 +30,7 @@ reset slave;
connection master; connection master;
drop table if exists t1,t2; drop table if exists t1,t2;
create table t1(n int); create table t1(n int);
let $1=30000; let $1=10;
while ($1) while ($1)
{ {
eval insert into t1 values($1); eval insert into t1 values($1);
...@@ -39,10 +39,17 @@ while ($1) ...@@ -39,10 +39,17 @@ while ($1)
create table t2(id int); create table t2(id int);
insert into t2 values(connection_id()); insert into t2 values(connection_id());
save_master_pos; save_master_pos;
send update t1 set n = n + 1;
connection master1;
#avoid generating result
create temporary table t1_temp(n int);
insert into t1_temp select get_lock('crash_lock', 1) from t2;
connection master;
send update t1 set n = n + get_lock('crash_lock', 2);
connection master1; connection master1;
sleep 2;
select (@id := id) - id from t2; select (@id := id) - id from t2;
sleep 0.1;
kill @id; kill @id;
drop table t2; drop table t2;
connection master; connection master;
......
...@@ -286,7 +286,7 @@ fi ...@@ -286,7 +286,7 @@ fi
echo "Installing all prepared tables" echo "Installing all prepared tables"
if eval "$execdir/mysqld $defaults --bootstrap --skip-grant-tables \ if eval "$execdir/mysqld $defaults --bootstrap --skip-grant-tables \
--basedir=$basedir --datadir=$ldata --skip-innobase --skip-gemini --skip-bdb $args" << END_OF_DATA --basedir=$basedir --datadir=$ldata --skip-innodb --skip-gemini --skip-bdb $args" << END_OF_DATA
use mysql; use mysql;
$c_d $c_d
$i_d $i_d
......
...@@ -9,7 +9,7 @@ use DBI; ...@@ -9,7 +9,7 @@ use DBI;
=head1 NAME =head1 NAME
mysqlhotcopy - fast on-line hot-backup utility for local MySQL databases mysqlhotcopy - fast on-line hot-backup utility for local MySQL databases and tables
=head1 SYNOPSIS =head1 SYNOPSIS
...@@ -36,7 +36,7 @@ WARNING: THIS IS VERY MUCH A FIRST-CUT ALPHA. Comments/patches welcome. ...@@ -36,7 +36,7 @@ WARNING: THIS IS VERY MUCH A FIRST-CUT ALPHA. Comments/patches welcome.
# Documentation continued at end of file # Documentation continued at end of file
my $VERSION = "1.11"; my $VERSION = "1.12";
my $opt_tmpdir = $ENV{TMPDIR} || "/tmp"; my $opt_tmpdir = $ENV{TMPDIR} || "/tmp";
...@@ -44,7 +44,7 @@ my $OPTIONS = <<"_OPTIONS"; ...@@ -44,7 +44,7 @@ my $OPTIONS = <<"_OPTIONS";
$0 Ver $VERSION $0 Ver $VERSION
Usage: $0 db_name [new_db_name | directory] Usage: $0 db_name[./table_regex/] [new_db_name | directory]
-?, --help display this helpscreen and exit -?, --help display this helpscreen and exit
-u, --user=# user for database login if not current user -u, --user=# user for database login if not current user
...@@ -52,9 +52,9 @@ Usage: $0 db_name [new_db_name | directory] ...@@ -52,9 +52,9 @@ Usage: $0 db_name [new_db_name | directory]
-P, --port=# port to use when connecting to local server -P, --port=# port to use when connecting to local server
-S, --socket=# socket to use when connecting to local server -S, --socket=# socket to use when connecting to local server
--allowold don't abort if target already exists (rename it _old) --allowold don\'t abort if target already exists (rename it _old)
--keepold don't delete previous (now renamed) target when done --keepold don\'t delete previous (now renamed) target when done
--noindices don't include full index files in copy --noindices don\'t include full index files in copy
--method=# method for copy (only "cp" currently supported) --method=# method for copy (only "cp" currently supported)
-q, --quiet be silent except for errors -q, --quiet be silent except for errors
...@@ -69,7 +69,7 @@ Usage: $0 db_name [new_db_name | directory] ...@@ -69,7 +69,7 @@ Usage: $0 db_name [new_db_name | directory]
--resetslave reset the master.info once all tables are locked --resetslave reset the master.info once all tables are locked
--tmpdir=# temporary directory (instead of $opt_tmpdir) --tmpdir=# temporary directory (instead of $opt_tmpdir)
Try 'perldoc $0 for more complete documentation' Try \'perldoc $0 for more complete documentation\'
_OPTIONS _OPTIONS
sub usage { sub usage {
...@@ -186,18 +186,20 @@ $datadir =~ s:/$::; ...@@ -186,18 +186,20 @@ $datadir =~ s:/$::;
# --- get target path --- # --- get target path ---
my ($tgt_dirname, $to_other_database); my ($tgt_dirname, $to_other_database);
$to_other_database=0; $to_other_database=0;
if ($tgt_name =~ m:^\w+$: && @db_desc <= 1) if (defined($tgt_name) && $tgt_name =~ m:^\w+$: && @db_desc <= 1)
{ {
$tgt_dirname = "$datadir/$tgt_name"; $tgt_dirname = "$datadir/$tgt_name";
$to_other_database=1; $to_other_database=1;
} }
elsif ($tgt_name =~ m:/: || $tgt_name eq '.') { elsif (defined($tgt_name) && ($tgt_name =~ m:/: || $tgt_name eq '.')) {
$tgt_dirname = $tgt_name; $tgt_dirname = $tgt_name;
} }
elsif ( $opt{suffix} ) { elsif ( $opt{suffix} ) {
print "copy suffix $opt{suffix}\n" unless $opt{quiet}; print "Using copy suffix '$opt{suffix}'\n" unless $opt{quiet};
} }
else { else
{
$tgt_name="" if (!defined($tgt_name));
die "Target '$tgt_name' doesn't look like a database name or directory path.\n"; die "Target '$tgt_name' doesn't look like a database name or directory path.\n";
} }
...@@ -277,7 +279,7 @@ foreach my $rdb ( @db_desc ) { ...@@ -277,7 +279,7 @@ foreach my $rdb ( @db_desc ) {
my @targets = (); my @targets = ();
if (length $tgt_name ) { if (defined($tgt_name) && length $tgt_name ) {
# explicit destination directory specified # explicit destination directory specified
# GNU `cp -r` error message # GNU `cp -r` error message
...@@ -329,8 +331,11 @@ if ($opt{method} =~ /^cp\b/) ...@@ -329,8 +331,11 @@ if ($opt{method} =~ /^cp\b/)
push @existing, $rdb->{target} if ( -d $rdb->{target} ); push @existing, $rdb->{target} if ( -d $rdb->{target} );
} }
die "Can't hotcopy to '", join( "','", @existing ), "' because already exist and --allowold option not given.\n" if ( @existing && !$opt{allowold} )
if ( @existing && !$opt{allowold} ); {
$dbh->disconnect();
die "Can't hotcopy to '", join( "','", @existing ), "' because directory\nalready exist and the --allowold option was not given.\n"
}
} }
retire_directory( @existing ) if ( @existing ); retire_directory( @existing ) if ( @existing );
...@@ -778,7 +783,7 @@ not copied by the previous subsets. ...@@ -778,7 +783,7 @@ not copied by the previous subsets.
newdb is either another not existing database or a full path to a directory newdb is either another not existing database or a full path to a directory
where we can create a directory 'db' where we can create a directory 'db'
Add option to lock each table in turn for people who don't need Add option to lock each table in turn for people who don\'t need
cross-table integrity. cross-table integrity.
Add option to FLUSH STATUS just before UNLOCK TABLES. Add option to FLUSH STATUS just before UNLOCK TABLES.
......
...@@ -52,6 +52,7 @@ parse_arguments() { ...@@ -52,6 +52,7 @@ parse_arguments() {
--core-file-size=*) core_file_size=`echo "$arg" | sed -e "s;--core_file_size=;;"` ;; --core-file-size=*) core_file_size=`echo "$arg" | sed -e "s;--core_file_size=;;"` ;;
--timezone=*) TZ=`echo "$arg" | sed -e "s;--timezone=;;"` ; export TZ; ;; --timezone=*) TZ=`echo "$arg" | sed -e "s;--timezone=;;"` ; export TZ; ;;
--mysqld=*) MYSQLD=`echo "$arg" | sed -e "s;--mysqld=;;"` ;; --mysqld=*) MYSQLD=`echo "$arg" | sed -e "s;--mysqld=;;"` ;;
--mysqld-version=*) MYSQLD=mysqld-`echo "$arg" | sed -e "s;--mysqld-version=;;"` ;;
*) *)
if test -n "$pick_args" if test -n "$pick_args"
then then
...@@ -92,7 +93,14 @@ fi ...@@ -92,7 +93,14 @@ fi
MYSQL_UNIX_PORT=${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@} MYSQL_UNIX_PORT=${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}
MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-@MYSQL_TCP_PORT@} MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-@MYSQL_TCP_PORT@}
user=@MYSQLD_USER@ user=@MYSQLD_USER@
MYSQLD=mysqld
# Use the mysqld-max binary by default if the user doesn't specify a binary
if test -x $ledir/mysqld-max
then
MYSQLD=mysqld-max
else
MYSQLD=mysqld
fi
# these rely on $DATADIR by default, so we'll set them later on # these rely on $DATADIR by default, so we'll set them later on
pid_file= pid_file=
......
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 2:22:09
ATIS table test
Creating tables
Time for create_table (28): 7 wallclock secs ( 6.93 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 12 wallclock secs (11.97 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 7 wallclock secs ( 7.47 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 51 wallclock secs (50.15 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 33 wallclock secs (33.34 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 33 wallclock secs (33.61 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 1 wallclock secs ( 0.06 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 144 wallclock secs (143.53 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Benchmark DBD suite: 2.7
Date of test: 2000-03-15 1:51:13
Running tests on: Windows 98 [Version 4.10.1998]
Arguments:
Comments: AMD K6, 400mz, 128M, 16M key_cache
Limits from:
Server version: MySQL 3.23.13a alpha
alter-table: Total time: 1855 wallclock secs (1854.89 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
ATIS: Total time: 144 wallclock secs (143.53 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 151 wallclock secs (150.66 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 369 wallclock secs (368.94 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 5141 wallclock secs (5140.97 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Estimated total time: 8358 wallclock secs (8356.07 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1294 wallclock secs (1293.83 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 63 wallclock secs (62.40 usr 0.00 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 1046 1046.38 0.00 0.00 992
alter_table_drop 773 772.97 0.00 0.00 496
connect 52 51.85 0.00 0.00 10000
connect+select_1_row 72 71.95 0.00 0.00 10000
connect+select_simple 67 66.90 0.00 0.00 10000
count 55 54.87 0.00 0.00 100
count_on_key 640 639.71 0.00 0.00 50100
create+drop 1433 1433.28 0.00 0.00 10000
create_MANY_tables 1510 1510.83 0.00 0.00 5000
create_index 17 16.70 0.00 0.00 8
create_key+drop 1457 1456.57 0.00 0.00 10000
create_table 8 7.92 0.00 0.00 31
delete_big 23 22.25 0.00 0.00 13
delete_big_many_keys 112 112.11 0.00 0.00 2
delete_key 0 0.82 0.00 0.00 500
drop_index 17 16.64 0.00 0.00 8
drop_table 1 0.06 0.00 0.00 28
drop_table_when_MANY_tables 160 159.83 0.00 0.00 5000
insert 510 508.11 0.00 0.00 350768
insert_duplicates 91 91.06 0.00 0.00 300000
insert_key 364 363.72 0.00 0.00 100000
insert_many_fields 25 24.71 0.00 0.00 2000
min_max 33 32.90 0.00 0.00 60
min_max_on_key 339 339.56 0.00 0.00 73000
multiple_value_insert 11 11.64 0.00 0.00 100000
order_by 249 248.87 0.00 0.00 10
order_by_key 175 174.66 0.00 0.00 10
outer_join 146 145.66 0.00 0.00 10
outer_join_found 144 144.40 0.00 0.00 10
outer_join_not_found 606 605.55 0.00 0.00 500 +
outer_join_on_key 63 63.33 0.00 0.00 10
select_1_row 16 15.99 0.00 0.00 10000
select_2_rows 19 18.89 0.00 0.00 10000
select_big 304 306.16 0.00 0.00 10080
select_diff_key 241 240.63 0.00 0.00 500
select_distinct 33 33.34 0.00 0.00 800
select_group 91 91.83 0.00 0.00 2911
select_group_when_MANY_tables 581 580.46 0.00 0.00 5000
select_join 51 50.15 0.00 0.00 200
select_key 540 540.35 0.00 0.00 200000
select_key_prefix 542 542.23 0.00 0.00 200000
select_many_fields 124 124.24 0.00 0.00 2000
select_range 423 423.21 0.00 0.00 25420
select_range_prefix 66 66.62 0.00 0.00 25010
select_simple 12 12.20 0.00 0.00 10000
select_simple_join 7 7.47 0.00 0.00 500
update_big 84 83.33 0.00 0.00 500
update_of_key 59 59.21 0.00 0.00 756
update_of_key_big 38 38.07 0.00 0.00 501
update_with_key 432 432.20 0.00 0.00 100000
wisc_benchmark 17 17.08 0.00 0.00 114
TOTALS 13879 13879.47 0.00 0.00 1642948 +
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 1:51:14
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 ( 1.09 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 1046 wallclock secs (1046.38 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 17 wallclock secs (16.70 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 17 wallclock secs (16.64 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 773 wallclock secs (772.97 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1855 wallclock secs (1854.89 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 2:24:33
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): 55 wallclock secs (55.36 usr 0.00 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): 69 wallclock secs (68.88 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 6 wallclock secs ( 6.20 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 19 wallclock secs (18.51 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 151 wallclock secs (150.66 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 2:27:04
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): 52 wallclock secs (51.85 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 67 wallclock secs (66.90 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 12 wallclock secs (12.20 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): 72 wallclock secs (71.95 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 16 wallclock secs (15.99 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 19 wallclock secs (18.89 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 130 wallclock secs (130.56 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 369 wallclock secs (368.94 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 2:33:13
Testing the speed of creating and droping tables
Testing with 5000 tables and 10000 loop count
Testing create of tables
Time for create_MANY_tables (5000): 1510 wallclock secs (1510.83 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (5000): 581 wallclock secs (580.46 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (5000): 160 wallclock secs (159.83 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 1433 wallclock secs (1433.28 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 1457 wallclock secs (1456.57 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 5141 wallclock secs (5140.97 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 3:59:00
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): 438 wallclock secs (437.15 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (300000): 91 wallclock secs (91.06 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 173 wallclock secs (173.79 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 175 wallclock secs (174.66 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 249 wallclock secs (248.87 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 241 wallclock secs (240.63 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 33 wallclock secs (33.50 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (5010:42084): 34 wallclock secs (33.67 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 542 wallclock secs (542.23 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 540 wallclock secs (540.35 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 33 wallclock secs (33.12 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (20000:43500): 33 wallclock secs (33.45 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 58 wallclock secs (58.22 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (3000): 7 wallclock secs ( 6.87 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 33 wallclock secs (32.90 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 52 wallclock secs (52.23 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 55 wallclock secs (54.87 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): 1 wallclock secs ( 0.99 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 38 wallclock secs (38.07 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (100000): 432 wallclock secs (432.20 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 84 wallclock secs (83.33 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): 63 wallclock secs (63.33 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 146 wallclock secs (145.66 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 144 wallclock secs (144.40 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:
75 queries in 74 loops of 500 loops took 606 seconds
Estimated time for outer_join_not_found (500:506): 606 wallclock secs (605.55 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (500): 0 wallclock secs ( 0.82 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_big (12): 22 wallclock secs (21.59 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): 364 wallclock secs (363.72 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 58 wallclock secs (58.22 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big_many_keys (2): 112 wallclock secs (112.11 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): 11 wallclock secs (11.64 usr 0.00 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)
Estimated total time: 8358 wallclock secs (8356.07 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 5:20:12
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): 16 wallclock secs (15.32 usr 0.00 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 ( 1.81 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 356 wallclock secs (356.09 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 332 wallclock secs (332.69 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 588 wallclock secs (587.48 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1294 wallclock secs (1293.83 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.13a alpha' at 2000-03-15 5:41:46
Wisconsin benchmark test
Time for create_table (3): 1 wallclock secs ( 0.99 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 44 wallclock secs (43.67 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 1 wallclock secs ( 0.66 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
Time for wisc_benchmark (114): 17 wallclock secs (17.08 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 63 wallclock secs (62.40 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.21.34' at 1999-02-28 15:42:21
ATIS table test
Creating tables
Time for create_table (28): 0 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Inserting data
Time to insert (9768): 3 wallclock secs ( 0.90 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Retrieving data
Time for select_simple_join (500): 3 wallclock secs ( 0.95 usr 0.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_join (200): 26 wallclock secs ( 6.04 usr 3.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_distinct (800): 17 wallclock secs ( 2.46 usr 1.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_group (2700): 15 wallclock secs ( 2.27 usr 0.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
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 secs)
Total time: 64 wallclock secs (12.66 usr 5.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 8:33:50
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): 4 wallclock secs ( 1.34 usr 0.15 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 3 wallclock secs ( 1.40 usr 0.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 23 wallclock secs ( 9.91 usr 1.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 19 wallclock secs ( 3.71 usr 0.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2700): 16 wallclock secs ( 3.35 usr 0.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 65 wallclock secs (19.72 usr 2.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 3:11:25
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.45 usr 0.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 2 wallclock secs ( 0.59 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 13 wallclock secs ( 4.26 usr 2.21 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 11 wallclock secs ( 1.69 usr 0.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 12 wallclock secs ( 1.56 usr 0.37 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: 40 wallclock secs ( 8.55 usr 3.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 6:39:08
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.38 usr 0.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 2 wallclock secs ( 0.68 usr 0.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (100): 2 wallclock secs ( 0.57 usr 0.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix_join (100): 13 wallclock secs ( 4.13 usr 1.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 11 wallclock secs ( 1.84 usr 0.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 13 wallclock secs ( 1.55 usr 0.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 0 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 44 wallclock secs ( 9.18 usr 4.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.37' at 2001-04-13 1:03:13
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): 4 wallclock secs ( 0.59 usr 0.35 sys + 0.00 cusr 0.00 csys = 0.94 CPU)
Retrieving data
Time for select_simple_join (500): 2 wallclock secs ( 0.58 usr 0.28 sys + 0.00 cusr 0.00 csys = 0.86 CPU)
Time for select_join (100): 4 wallclock secs ( 0.50 usr 0.23 sys + 0.00 cusr 0.00 csys = 0.73 CPU)
Time for select_key_prefix_join (100): 13 wallclock secs ( 4.11 usr 2.03 sys + 0.00 cusr 0.00 csys = 6.14 CPU)
Time for select_distinct (800): 15 wallclock secs ( 1.57 usr 0.72 sys + 0.00 cusr 0.00 csys = 2.29 CPU)
Time for select_group (2800): 20 wallclock secs ( 1.51 usr 0.44 sys + 0.00 cusr 0.00 csys = 1.95 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: 58 wallclock secs ( 8.87 usr 4.05 sys + 0.00 cusr 0.00 csys = 12.92 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 11:28:22
ATIS table test
Creating tables
Time for create_table (28): 0 secs ( 0.01 usr 0.01 sys = 0.02 cpu)
Inserting data
Time to insert (9768): 5 secs ( 0.48 usr 0.75 sys = 1.23 cpu)
Retrieving data
Time for select_simple_join (500): 2 secs ( 0.62 usr 1.00 sys = 1.62 cpu)
Time for select_join (200): 31 secs ( 2.65 usr 11.18 sys = 13.83 cpu)
Time for select_distinct (800): 20 secs ( 1.11 usr 2.93 sys = 4.04 cpu)
Time for select_group (2700): 17 secs ( 0.65 usr 2.51 sys = 3.16 cpu)
Removing tables
Time to drop_table (28): 0 secs ( 0.00 usr 0.01 sys = 0.01 cpu)
Total time: 75 secs ( 5.52 usr 18.40 sys = 23.92 cpu)
Benchmark DBD suite: 2.0b
Date of test: 1999-02-28 15:42:20
Running tests on: Linux 2.2.1 i686
Arguments:
Comments: pentiumpro 400mz x2, 256M, SCSI, gcc 2.9 compiled, key_buffer=1M
Limits from:
Server version: MySQL 3.21.34
ATIS: Total time: 64 wallclock secs (12.66 usr 5.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
alter-table: Total time: 815 wallclock secs ( 0.61 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
big-tables: Total time: 188 wallclock secs (10.99 usr 10.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
connect: Total time: 148 wallclock secs (66.47 usr 42.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
create: Total time: 11 wallclock secs ( 1.68 usr 0.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
insert: Total time: 1971 wallclock secs (362.50 usr 103.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
select: Estimated total time: 1794 wallclock secs (79.34 usr 14.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
wisconsin: Total time: 20 wallclock secs ( 4.70 usr 2.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
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 476 0.35 0.09 0.00 992
alter_table_drop 338 0.17 0.03 0.00 496
connect 30 14.51 10.85 0.00 10000
connect+select 34 18.27 7.11 0.00 10000
count 61 0.09 0.03 0.00 100
count_on_key 640 27.18 3.47 0.00 50100 +
create+drop 1 0.37 0.06 0.00 1000
create_index 0 0.00 0.00 0.00 8
create_key+drop 3 0.77 0.07 0.00 1000
create_table 5 0.29 0.06 0.00 1031
delete_big 206 0.00 0.00 0.00 15
delete_key 12 0.02 0.02 0.00 500
drop_index 0 0.00 0.00 0.00 8
drop_table 1 0.08 0.02 0.00 1028
insert 149 34.57 12.16 0.00 350768
insert_duplicates 26 6.84 3.72 0.00 300000
insert_key 157 14.40 3.85 0.00 100000
insert_many_fields 82 0.57 0.12 0.00 2000
min_max 23 0.04 0.00 0.00 60
min_max_on_key 1260 40.08 4.69 0.00 73000 +
order_by 71 28.62 19.26 0.00 10
order_by_key 71 28.30 20.45 0.00 10
select 7 1.71 1.41 0.00 20000
select_big 97 44.76 25.37 0.00 10080
select_distinct 17 2.46 1.09 0.00 800
select_group 96 2.58 0.70 0.00 3811
select_join 26 6.04 3.37 0.00 200
select_key 213 109.13 13.71 0.00 200000
select_key_prefix 247 94.75 12.42 0.00 200000
select_many_fields 106 10.40 10.63 0.00 2000
select_range 349 21.73 7.72 0.00 25420
select_range_prefix 38 10.18 1.70 0.00 25010
select_simple 34 15.95 13.30 0.00 20000
select_simple_join 3 0.95 0.31 0.00 500
update_key 0 0.05 0.03 0.00 500
update_key_big 52 0.04 0.01 0.00 501
update_of_key 72 0.03 0.03 0.00 256
wisc_benchmark 6 2.48 1.08 0.00 114
TOTALS 5009 538.76 178.94 0.00 1411318 ++
Benchmark DBD suite: 2.4
Date of test: 1999-09-17 8:33:49
Running tests on: Linux 2.2.10 i686
Arguments: --force
Comments:
Limits from:
Server version: MySQL 3.23.3 alpha
ATIS: Total time: 65 wallclock secs (19.72 usr 2.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 514 wallclock secs ( 0.65 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 50 wallclock secs (18.30 usr 6.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 120 wallclock secs (66.02 usr 10.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 9 wallclock secs ( 2.21 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Estimated total time: 6039 wallclock secs (648.24 usr 76.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1209 wallclock secs (110.89 usr 8.88 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 23 wallclock secs ( 7.83 usr 1.45 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 280 0.37 0.03 0.00 992
alter_table_drop 222 0.16 0.01 0.00 496
connect 18 13.36 1.13 0.00 10000
connect+select_1_row 23 14.47 1.60 0.00 10000
connect+select_simpl 21 14.34 1.42 0.00 10000
count 73 0.08 0.02 0.00 100
count_on_key 648 38.95 2.36 0.00 50100
create+drop 1 0.63 0.01 0.00 1000
create_index 5 0.00 0.00 0.00 8
create_key+drop 2 0.78 0.07 0.00 1000
create_table 4 0.46 0.07 0.00 1031
delete_big 21 0.00 0.00 0.00 13
delete_big_many_keys 257 0.00 0.00 0.00 2
delete_key 1 0.12 0.00 0.00 500
drop_index 6 0.00 0.00 0.00 8
drop_table 1 0.15 0.05 0.00 1028
insert 173 53.61 9.85 0.00 350768
insert_duplicates 16 5.74 1.67 0.00 300000
insert_key 209 21.42 3.48 0.00 100000
insert_many_fields 13 0.88 0.09 0.00 2000
min_max 37 0.04 0.01 0.00 60
min_max_on_key 265 53.70 3.63 0.00 73000
multiple_value_inser 9 2.46 0.02 0.00 100000
order_by 90 46.67 8.04 0.00 10
order_by_key 69 46.84 7.93 0.00 10
outer_join 84 0.00 0.00 0.00 10
outer_join_found 82 0.01 0.00 0.00 10
outer_join_not_found 605 0.13 0.00 0.00 500 +
outer_join_on_key 65 0.02 0.00 0.00 10
select_1_row 3 1.05 0.33 0.00 10000
select_2_rows 4 1.26 0.35 0.00 10000
select_big 118 67.93 13.05 0.00 10080
select_diff_key 305 0.55 0.02 0.00 500
select_distinct 19 3.71 0.50 0.00 800
select_group 75 3.65 0.46 0.00 3811
select_join 23 9.91 1.72 0.00 200
select_key 401 164.79 11.47 0.00 200000
select_key_prefix 406 175.76 12.40 0.00 200000
select_many_fields 37 17.41 6.17 0.00 2000
select_range 387 33.53 3.87 0.00 25420
select_range_prefix 42 15.23 1.30 0.00 25010
select_simple 2 0.74 0.31 0.00 10000
select_simple_join 3 1.40 0.18 0.00 500
update_big 34 0.00 0.00 0.00 500
update_of_key 61 0.11 0.06 0.00 756
update_of_key_big 29 0.08 0.00 0.00 501
update_with_key 381 57.20 11.84 0.00 100000
wisc_benchmark 7 3.42 0.58 0.00 114
TOTALS 5637 873.12 106.10 0.00 1612848 +
Benchmark DBD suite: 2.8
Date of test: 2000-06-01 11:07:08
Running tests on: Linux 2.2.14 i686
Arguments:
Comments: Pentium 2x550 MZ Xeon, 512M, IDE, 16M key_buffer
Limits from:
Server version: MySQL 3.23.17 alpha
alter-table: Total time: 359 wallclock secs ( 0.47 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
ATIS: Total time: 40 wallclock secs ( 8.55 usr 3.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 33 wallclock secs ( 8.89 usr 7.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 74 wallclock secs (30.09 usr 16.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 419 wallclock secs (10.58 usr 3.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Total time: 1552 wallclock secs (263.84 usr 86.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1797 wallclock secs (126.08 usr 67.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 15 wallclock secs ( 3.20 usr 1.66 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 198.00 0.29 0.06 0.00 992
alter_table_drop 154.00 0.14 0.04 0.00 496
connect 12.00 6.38 2.82 0.00 10000
connect+select_1_row 15.00 6.57 3.78 0.00 10000
connect+select_simple 13.00 6.71 3.26 0.00 10000
count 42.00 0.10 0.00 0.00 100
count_distinct 110.00 0.78 0.10 0.00 1000
count_distinct_big 632.00 73.98 55.47 0.00 1020
count_distinct_group 75.00 1.20 0.44 0.00 1000
count_distinct_group_on_key 58.00 0.41 0.03 0.00 1000
count_distinct_group_on_key_parts 74.00 1.18 0.60 0.00 1000
count_group_on_key_parts 0.00 0.00 0.00 0.00 0
count_on_key 557.00 17.72 2.69 0.00 50100
create+drop 19.00 2.43 0.72 0.00 10000
create_MANY_tables 263.00 2.58 0.48 0.00 10000
create_index 4.00 0.00 0.00 0.00 8
create_key+drop 18.00 3.88 0.95 0.00 10000
create_table 0.00 0.00 0.00 0.00 31
delete_big 15.00 0.01 0.00 0.00 13
delete_big_many_keys 59.00 0.00 0.00 0.00 2
delete_key 3.00 0.73 0.34 0.00 10000
drop_index 3.00 0.01 0.00 0.00 8
drop_table 0.00 0.00 0.00 0.00 28
drop_table_when_MANY_tables 22.00 0.59 0.42 0.00 10000
insert 109.00 20.53 9.93 0.00 350768
insert_duplicates 14.00 3.03 3.14 0.00 300000
insert_key 111.00 10.00 3.74 0.00 100000
insert_many_fields 10.00 0.45 0.11 0.00 2000
min_max 29.00 0.00 0.00 0.00 60
min_max_on_key 219.00 26.38 4.12 0.00 85000
multiple_value_insert 7.00 1.92 0.05 0.00 100000
order_by 47.00 20.41 15.62 0.00 10
order_by_key 30.00 20.22 10.11 0.00 10
outer_join 63.00 0.01 0.00 0.00 10
outer_join_found 60.00 0.00 0.00 0.00 10
outer_join_not_found 46.00 0.00 0.00 0.00 500
outer_join_on_key 51.00 0.00 0.00 0.00 10
select_1_row 2.00 0.54 0.38 0.00 10000
select_2_rows 3.00 0.57 0.44 0.00 10000
select_big 59.00 29.63 15.74 0.00 10080
select_diff_key 174.00 0.28 0.03 0.00 500
select_distinct 11.00 1.69 0.81 0.00 800
select_group 64.00 1.61 0.41 0.00 2911
select_group_when_MANY_tables 97.00 1.09 0.52 0.00 10000
select_join 13.00 4.26 2.21 0.00 200
select_key 128.00 66.75 11.61 0.00 200000
select_key_prefix 130.00 66.91 10.48 0.00 200000
select_many_fields 23.00 8.43 7.65 0.00 2000
select_range 208.00 14.67 5.30 0.00 25420
select_range_prefix 18.00 5.83 1.38 0.00 25010
select_simple 2.00 0.34 0.39 0.00 10000
select_simple_join 2.00 0.59 0.26 0.00 500
update_big 28.00 0.00 0.00 0.00 500
update_of_key 59.00 2.65 1.37 0.00 756
update_of_key_big 25.00 0.02 0.01 0.00 501
update_with_key 97.00 15.38 7.87 0.00 100000
wisc_benchmark 4.00 1.72 0.77 0.00 114
TOTALS 4289.00 451.60 186.65 0.00 1684468
Benchmark DBD suite: 2.12
Date of test: 2000-12-24 15:30:34
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: 44 wallclock secs ( 9.18 usr 4.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 468 wallclock secs ( 0.25 usr 0.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 31 wallclock secs ( 8.67 usr 6.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 79 wallclock secs (34.39 usr 17.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 126 wallclock secs (10.09 usr 3.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Total time: 2227 wallclock secs (451.81 usr 170.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1379 wallclock secs (61.35 usr 18.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 16 wallclock secs ( 3.25 usr 1.72 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 263.00 0.10 0.05 0.00 992
alter_table_drop 197.00 0.05 0.03 0.00 496
connect 12.00 7.18 2.61 0.00 10000
connect+select_1_row 15.00 7.75 3.29 0.00 10000
connect+select_simple 14.00 7.39 3.61 0.00 10000
count 47.00 0.05 0.00 0.00 100
count_distinct 119.00 0.66 0.17 0.00 2000
count_distinct_big 111.00 7.48 5.86 0.00 120
count_distinct_group 80.00 1.02 0.43 0.00 1000
count_distinct_group_on_key 60.00 0.40 0.08 0.00 1000
count_distinct_group_on_key_parts 81.00 0.79 0.41 0.00 1000
count_group_on_key_parts 54.00 1.00 0.47 0.00 1000
count_on_key 559.00 17.07 3.00 0.00 50100
create+drop 29.00 2.43 0.82 0.00 10000
create_MANY_tables 29.00 2.27 0.46 0.00 10000
create_index 4.00 0.00 0.00 0.00 8
create_key+drop 40.00 3.97 0.87 0.00 10000
create_table 0.00 0.00 0.00 0.00 31
delete_all 20.00 0.00 0.00 0.00 12
delete_all_many_keys 151.00 0.03 0.01 0.00 1
delete_big 0.00 0.00 0.00 0.00 1
delete_big_many_keys 151.00 0.03 0.01 0.00 128
delete_key 4.00 0.56 0.45 0.00 10000
drop_index 4.00 0.00 0.00 0.00 8
drop_table 0.00 0.01 0.00 0.00 28
drop_table_when_MANY_tables 12.00 0.63 0.43 0.00 10000
insert 131.00 22.93 14.02 0.00 350768
insert_duplicates 24.00 3.18 3.05 0.00 100000
insert_key 154.00 10.52 4.42 0.00 100000
insert_many_fields 9.00 0.44 0.07 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 32.00 0.01 0.00 0.00 60
min_max_on_key 238.00 27.34 5.17 0.00 85000
multiple_value_insert 9.00 1.88 0.06 0.00 100000
order_by_big 52.00 22.29 15.95 0.00 10
order_by_big_key 34.00 23.91 10.39 0.00 10
order_by_big_key2 33.00 22.58 10.06 0.00 10
order_by_big_key_desc 36.00 23.89 10.41 0.00 10
order_by_big_key_diff 50.00 22.07 16.43 0.00 10
order_by_big_key_prefix 32.00 22.21 10.50 0.00 10
order_by_key2_diff 5.00 1.12 0.07 0.00 500
order_by_key_prefix 3.00 1.10 0.38 0.00 500
order_by_range 5.00 1.14 0.41 0.00 500
outer_join 72.00 0.00 0.00 0.00 10
outer_join_found 67.00 0.00 0.01 0.00 10
outer_join_not_found 50.00 0.00 0.00 0.00 500
outer_join_on_key 57.00 0.01 0.00 0.00 10
select_1_row 2.00 0.45 0.57 0.00 10000
select_2_rows 3.00 0.59 0.61 0.00 10000
select_big 62.00 32.48 15.99 0.00 10080
select_column+column 3.00 0.58 0.68 0.00 10000
select_diff_key 191.00 0.33 0.03 0.00 500
select_distinct 11.00 1.84 0.70 0.00 800
select_group 67.00 1.60 0.52 0.00 2911
select_group_when_MANY_tables 16.00 0.79 0.62 0.00 10000
select_join 2.00 0.57 0.28 0.00 100
select_key 126.00 68.35 14.42 0.00 200000
select_key2 132.00 69.41 13.86 0.00 200000
select_key_prefix 134.00 71.19 14.71 0.00 200000
select_key_prefix_join 13.00 4.13 1.96 0.00 100
select_many_fields 22.00 8.22 6.80 0.00 2000
select_range 194.00 9.08 3.79 0.00 410
select_range_key2 18.00 6.36 1.64 0.00 25010
select_range_prefix 20.00 6.82 1.38 0.00 25010
select_simple 2.00 0.47 0.71 0.00 10000
select_simple_join 2.00 0.68 0.19 0.00 500
update_big 64.00 0.00 0.00 0.00 10
update_of_key 23.00 2.80 2.29 0.00 50000
update_of_key_big 33.00 0.11 0.03 0.00 501
update_of_primary_key_many_keys 65.00 0.02 0.01 0.00 256
update_with_key 113.00 17.01 12.17 0.00 300000
update_with_key_prefix 32.00 5.68 4.36 0.00 100000
wisc_benchmark 4.00 1.80 0.69 0.00 114
TOTALS 4519.00 578.85 223.47 0.00 2046247
Benchmark DBD suite: 2.12
Date of test: 2001-04-13 3:48:03
Running tests on: Linux 2.4.0-64GB-SMP i686
Arguments:
Comments: Intel Xeon, 2x550 Mhz, 512M, key_buffer=16M
Limits from:
Server version: MySQL 3.23.37
ATIS: Total time: 58 wallclock secs ( 8.87 usr 4.05 sys + 0.00 cusr 0.00 csys = 12.92 CPU)
alter-table: Total time: 471 wallclock secs ( 0.16 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.27 CPU)
big-tables: Total time: 33 wallclock secs ( 9.47 usr 7.95 sys + 0.00 cusr 0.00 csys = 17.42 CPU)
connect: Total time: 90 wallclock secs (35.94 usr 18.84 sys + 0.00 cusr 0.00 csys = 54.78 CPU)
create: Total time: 154 wallclock secs ( 9.67 usr 5.83 sys + 0.00 cusr 0.00 csys = 15.50 CPU)
insert: Total time: 2773 wallclock secs (682.10 usr 184.31 sys + 0.00 cusr 0.00 csys = 866.41 CPU)
select: Total time: 1999 wallclock secs (72.84 usr 16.51 sys + 0.00 cusr 0.00 csys = 89.35 CPU)
wisconsin: Total time: 19 wallclock secs ( 3.95 usr 1.81 sys + 0.00 cusr 0.00 csys = 5.76 CPU)
All 8 test executed successfully
Totals per operation:
Operation seconds usr sys cpu tests
alter_table_add 261.00 0.09 0.06 0.15 992
alter_table_drop 199.00 0.02 0.03 0.05 496
connect 17.00 7.03 3.40 10.43 10000
connect+select_1_row 16.00 7.76 4.01 11.77 10000
connect+select_simple 15.00 6.96 3.91 10.87 10000
count 45.00 0.02 0.01 0.03 100
count_distinct 65.00 0.34 0.05 0.39 1000
count_distinct_2 65.00 0.36 0.12 0.48 1000
count_distinct_big 162.00 7.60 3.30 10.90 120
count_distinct_group 190.00 1.21 0.35 1.56 1000
count_distinct_group_on_key 64.00 0.44 0.07 0.51 1000
count_distinct_group_on_key_parts 191.00 1.32 0.34 1.66 1000
count_distinct_key_prefix 56.00 0.40 0.05 0.45 1000
count_group_on_key_parts 60.00 1.17 0.36 1.53 1000
count_on_key 595.00 17.92 2.91 20.83 50100
create+drop 33.00 2.64 0.72 3.36 10000
create_MANY_tables 43.00 2.34 2.21 4.55 10000
create_index 5.00 0.00 0.00 0.00 8
create_key+drop 39.00 3.05 0.72 3.77 10000
create_table 1.00 0.00 0.00 0.00 31
delete_all 18.00 0.00 0.00 0.00 12
delete_all_many_keys 77.00 0.01 0.00 0.01 1
delete_big 0.00 0.00 0.00 0.00 1
delete_big_many_keys 77.00 0.01 0.00 0.01 128
delete_key 4.00 0.63 0.36 0.99 10000
drop_index 5.00 0.00 0.00 0.00 8
drop_table 0.00 0.00 0.00 0.00 28
drop_table_when_MANY_tables 19.00 0.87 0.84 1.71 10000
insert 144.00 23.75 13.55 37.30 350768
insert_duplicates 31.00 5.12 4.16 9.28 100000
insert_key 138.00 10.42 6.05 16.47 100000
insert_many_fields 10.00 0.45 0.18 0.63 2000
insert_select_1_key 7.00 0.00 0.00 0.00 1
insert_select_2_keys 10.00 0.00 0.00 0.00 1
min_max 33.00 0.02 0.01 0.03 60
min_max_on_key 237.00 28.39 4.10 32.49 85000
multiple_value_insert 10.00 1.86 0.05 1.91 100000
order_by_big 77.00 21.83 9.99 31.82 10
order_by_big_key 35.00 23.27 10.06 33.33 10
order_by_big_key2 32.00 21.65 10.20 31.85 10
order_by_big_key_desc 37.00 23.23 10.33 33.56 10
order_by_big_key_diff 73.00 21.66 10.13 31.79 10
order_by_big_key_prefix 33.00 21.44 10.24 31.68 10
order_by_key2_diff 9.00 1.45 0.89 2.34 500
order_by_key_prefix 5.00 1.17 0.47 1.64 500
order_by_range 8.00 1.39 0.40 1.79 500
outer_join 112.00 0.00 0.00 0.00 10
outer_join_found 110.00 0.00 0.00 0.00 10
outer_join_not_found 60.00 0.00 0.01 0.01 500
outer_join_on_key 58.00 0.01 0.00 0.01 10
select_1_row 2.00 0.51 0.65 1.16 10000
select_2_rows 4.00 0.38 0.40 0.78 10000
select_big 64.00 34.10 15.48 49.58 10080
select_column+column 3.00 0.60 0.52 1.12 10000
select_diff_key 202.00 0.26 0.06 0.32 500
select_distinct 15.00 1.57 0.72 2.29 800
select_group 80.00 1.55 0.45 2.00 2911
select_group_when_MANY_tables 20.00 0.77 1.34 2.11 10000
select_join 4.00 0.50 0.23 0.73 100
select_key 131.00 69.07 11.59 80.66 200000
select_key2 140.00 87.29 11.66 98.95 200000
select_key2_return_key 133.00 65.03 10.13 75.16 200000
select_key2_return_prim 133.00 75.39 11.05 86.44 200000
select_key_prefix 141.00 80.77 13.11 93.88 200000
select_key_prefix_join 13.00 4.11 2.03 6.14 100
select_key_return_key 125.00 62.45 10.60 73.05 200000
select_many_fields 22.00 9.01 7.77 16.78 2000
select_query_cache 131.00 3.58 0.61 4.19 10000
select_query_cache2 131.00 3.78 0.68 4.46 10000
select_range 206.00 8.92 3.47 12.39 410
select_range_key2 21.00 5.77 1.51 7.28 25010
select_range_prefix 23.00 6.49 1.10 7.59 25010
select_simple 2.00 0.53 0.54 1.07 10000
select_simple_join 2.00 0.58 0.28 0.86 500
update_big 65.00 0.00 0.00 0.00 10
update_of_key 25.00 2.74 1.81 4.55 50000
update_of_key_big 36.00 0.01 0.07 0.08 501
update_of_primary_key_many_keys 43.00 0.05 0.02 0.07 256
update_with_key 119.00 19.18 12.34 31.52 300000
update_with_key_prefix 36.00 6.37 3.90 10.27 100000
wisc_benchmark 5.00 2.23 0.61 2.84 114
TOTALS 5668.00 822.89 239.37 1062.26 2667247
Benchmark DBD suit: 2.0
Date of test: 1998-08-21 13:27:33
Running tests on: Linux 2.0.35 i686
Arguments:
Comments: pentiumpro 400mz x2, 256M, SCSI, pgcc compiled, key_buffer=16M
Limits from:
Server version: MySQL 3.21.33
ATIS: Total time: 75 secs ( 5.52 usr 18.40 sys = 23.92 cpu)
alter-table: Total time: 1949 secs ( 0.26 usr 0.93 sys = 1.19 cpu)
big-tables: Total time: 281 secs ( 5.73 usr 22.43 sys = 28.16 cpu)
connect: Total time: 230 secs (31.85 usr 149.46 sys = 181.31 cpu)
create: Total time: 20 secs ( 0.81 usr 1.22 sys = 2.03 cpu)
insert: Total time: 2988 secs (172.92 usr 472.21 sys = 645.13 cpu)
select: Estimated total time: 2117 secs (34.14 usr 74.63 sys = 108.77 cpu)
wisconsin: Total time: 27 secs ( 2.40 usr 5.39 sys = 7.79 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 1949 0.25 0.80 1.05 1992
connect 54 6.43 42.04 48.47 10000
connect+select 58 8.15 42.24 50.39 10000
count 58 0.00 0.09 0.09 100
count_on_key 780 13.21 22.42 35.63 50100 +
create+drop 3 0.20 0.31 0.51 1000
create_index 0 0.00 0.00 0.00 8
create_key+drop 3 0.21 0.45 0.66 1000
create_table 8 0.31 0.23 0.54 1031
delete_big 148 0.00 0.01 0.01 15
delete_key 0 0.05 0.06 0.11 500
drop_index 0 0.00 0.00 0.00 8
drop_table 1 0.02 0.07 0.09 1028
insert 206 15.52 39.66 55.18 350768
insert_duplicates 34 4.70 8.53 13.23 300000
insert_key 698 8.57 12.08 20.65 100000
insert_many_fields 129 0.22 0.65 0.87 2000
min_max 25 0.00 0.07 0.07 60
min_max_on_key 1474 14.64 38.47 53.11 73000 +
order_by 91 1.63 63.23 64.86 5
order_by_key 92 1.88 62.99 64.87 5
select 11 0.76 4.55 5.31 20000
select_big 103 12.16 68.00 80.16 10080
select_distinct 20 1.11 2.93 4.04 800
select_group 114 0.74 2.79 3.53 3811
select_join 31 2.65 11.18 13.83 200
select_key 247 65.75 99.71 165.46 200000
select_key_prefix 270 60.23 105.01 165.24 200000
select_many_fields 151 5.51 21.76 27.27 2000
select_range 357 9.98 24.74 34.72 25420
select_range_prefix 42 4.12 10.63 14.75 25010
select_simple 60 7.72 44.33 52.05 20000
select_simple_join 2 0.62 1.00 1.62 500
update_key 356 4.81 10.29 15.10 100256
update_key_big 85 0.41 0.31 0.72 105003
wisc_benchmark 7 1.04 2.86 3.90 114
TOTALS 7667 253.60 744.49 998.09 1615814 ++
Testing server 'MySQL 3.21.34' at 1999-02-28 15:43:25
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.08 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for alter_table_add (992): 476 wallclock secs ( 0.35 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for create_index (8): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for drop_index (8): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for alter_table_drop (496): 338 wallclock secs ( 0.17 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Total time: 815 wallclock secs ( 0.61 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 3:05:26
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.03 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 198 wallclock secs ( 0.29 usr 0.06 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): 3 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 154 wallclock secs ( 0.14 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 359 wallclock secs ( 0.47 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 6:39:53
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.09 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 263 wallclock secs ( 0.10 usr 0.05 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): 197 wallclock secs ( 0.05 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 468 wallclock secs ( 0.25 usr 0.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 8:34:56 Testing server 'MySQL 3.23.37' at 2001-04-13 1:04:11
Testing of ALTER TABLE Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table Insert data into the table
Time for insert (1000) 0 wallclock secs ( 0.12 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Time for insert (1000) 1 wallclock secs ( 0.05 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.07 CPU)
Time for alter_table_add (992): 280 wallclock secs ( 0.37 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Time for alter_table_add (992): 261 wallclock secs ( 0.09 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.15 CPU)
Time for create_index (8): 5 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Time for create_index (8): 5 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 6 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Time for drop_index (8): 5 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 222 wallclock secs ( 0.16 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Time for alter_table_drop (496): 199 wallclock secs ( 0.02 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.05 CPU)
Total time: 514 wallclock secs ( 0.65 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Total time: 471 wallclock secs ( 0.16 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.27 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 11:29:38
Testing of ALTER TABLE
Testing with 2000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 0 secs ( 0.01 usr 0.13 sys = 0.14 cpu)
Time for alter_table_add (1992): 1949 secs ( 0.25 usr 0.80 sys = 1.05 cpu)
Time for create_index (8): 0 secs ( 0.00 usr 0.00 sys = 0.00 cpu)
Time for drop_index (8): 0 secs ( 0.00 usr 0.00 sys = 0.00 cpu)
Total time: 1949 secs ( 0.26 usr 0.93 sys = 1.19 cpu)
Testing server 'MySQL 3.21.34' at 1999-02-28 15:57:02
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): 16 wallclock secs ( 6.68 usr 4.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 90 wallclock secs ( 3.72 usr 6.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing insert VALUES()
Time to insert_many_fields(1000): 4 wallclock secs ( 0.47 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 78 wallclock secs ( 0.10 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Total time: 188 wallclock secs (10.99 usr 10.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 8:43:30
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): 16 wallclock secs ( 8.58 usr 2.89 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): 21 wallclock secs ( 8.83 usr 3.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 4 wallclock secs ( 0.77 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 9 wallclock secs ( 0.11 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 50 wallclock secs (18.30 usr 6.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 3:12:05
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): 10 wallclock secs ( 4.33 usr 3.89 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.10 usr 3.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 3 wallclock secs ( 0.40 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 7 wallclock secs ( 0.05 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 33 wallclock secs ( 8.89 usr 7.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 6:47:42
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.02 usr 3.44 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.20 usr 3.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 3 wallclock secs ( 0.37 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.07 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 31 wallclock secs ( 8.67 usr 6.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 12:02:09 Testing server 'MySQL 3.23.37' at 2001-04-13 1:12:02
Testing of some unusual tables Testing of some unusual tables
All tests are done 1000 times with 1000 fields All tests are done 1000 times with 1000 fields
Testing table with 1000 fields Testing table with 1000 fields
Testing select * from table with 1 record Testing select * from table with 1 record
Time to select_many_fields(1000): 16 secs ( 3.22 usr 10.31 sys = 13.53 cpu) Time to select_many_fields(1000): 9 wallclock secs ( 4.67 usr 4.30 sys + 0.00 cusr 0.00 csys = 8.97 CPU)
Testing select all_fields from table with 1 record Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 135 secs ( 2.29 usr 11.45 sys = 13.74 cpu) Time to select_many_fields(1000): 13 wallclock secs ( 4.34 usr 3.47 sys + 0.00 cusr 0.00 csys = 7.81 CPU)
Testing insert VALUES() Testing insert VALUES()
Time to insert_many_fields(1000): 4 secs ( 0.13 usr 0.51 sys = 0.64 cpu) Time to insert_many_fields(1000): 3 wallclock secs ( 0.42 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.49 CPU)
Testing insert (all_fields) VALUES() Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 125 secs ( 0.09 usr 0.14 sys = 0.23 cpu) Time to insert_many_fields(1000): 7 wallclock secs ( 0.03 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.14 CPU)
Total time: 281 secs ( 5.73 usr 22.43 sys = 28.16 cpu) Total time: 33 wallclock secs ( 9.47 usr 7.95 sys + 0.00 cusr 0.00 csys = 17.42 CPU)
Testing server 'MySQL 3.21.34' at 1999-02-28 16:00:11
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): 30 wallclock secs (14.51 usr 10.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Test connect/simple select/disconnect
Time for select_simple (10000): 32 wallclock secs (15.36 usr 12.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.59 usr 0.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing connect/select 1 row from table/disconnect
Time to connect+select (10000): 34 wallclock secs (18.27 usr 7.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing select 1 row from table
Time to select (10000): 3 wallclock secs ( 0.91 usr 0.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing select 2 rows from table
Time to select (10000): 4 wallclock secs ( 0.80 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 43 wallclock secs (16.00 usr 9.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Total time: 148 wallclock secs (66.47 usr 42.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 8:44:21
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): 18 wallclock secs (13.36 usr 1.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 21 wallclock secs (14.34 usr 1.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.74 usr 0.31 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): 23 wallclock secs (14.47 usr 1.60 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 ( 1.05 usr 0.33 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 ( 1.26 usr 0.35 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 49 wallclock secs (20.80 usr 4.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 120 wallclock secs (66.02 usr 10.12 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 3:12:38
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): 12 wallclock secs ( 6.38 usr 2.82 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 13 wallclock secs ( 6.71 usr 3.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.34 usr 0.39 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 ( 6.57 usr 3.78 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.38 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.57 usr 0.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 27 wallclock secs ( 8.98 usr 5.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 74 wallclock secs (30.09 usr 16.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 6:48:14
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): 12 wallclock secs ( 7.18 usr 2.61 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.39 usr 3.61 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.71 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.75 usr 3.29 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.45 usr 0.57 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.59 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 3 wallclock secs ( 0.58 usr 0.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 28 wallclock secs ( 9.97 usr 5.76 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 79 wallclock secs (34.39 usr 17.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.37' at 2001-04-13 1:12: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): 17 wallclock secs ( 7.03 usr 3.40 sys + 0.00 cusr 0.00 csys = 10.43 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 15 wallclock secs ( 6.96 usr 3.91 sys + 0.00 cusr 0.00 csys = 10.87 CPU)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.53 usr 0.54 sys + 0.00 cusr 0.00 csys = 1.07 CPU)
Testing connect/select 1 row from table/disconnect
Time to connect+select_1_row (10000): 16 wallclock secs ( 7.76 usr 4.01 sys + 0.00 cusr 0.00 csys = 11.77 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 2 wallclock secs ( 0.51 usr 0.65 sys + 0.00 cusr 0.00 csys = 1.16 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 4 wallclock secs ( 0.38 usr 0.40 sys + 0.00 cusr 0.00 csys = 0.78 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 3 wallclock secs ( 0.60 usr 0.52 sys + 0.00 cusr 0.00 csys = 1.12 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 31 wallclock secs (12.16 usr 5.41 sys + 0.00 cusr 0.00 csys = 17.57 CPU)
Total time: 90 wallclock secs (35.94 usr 18.84 sys + 0.00 cusr 0.00 csys = 54.78 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 12:06:50
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): 54 secs ( 6.43 usr 42.04 sys = 48.47 cpu)
Test connect/simple select/disconnect
Time for select_simple (10000): 56 secs ( 7.46 usr 42.52 sys = 49.98 cpu)
Test simple select
Time for select_simple (10000): 4 secs ( 0.26 usr 1.81 sys = 2.07 cpu)
Testing connect/select 1 row from table/disconnect
Time to connect+select (10000): 58 secs ( 8.15 usr 42.24 sys = 50.39 cpu)
Testing select 1 row from table
Time to select (10000): 5 secs ( 0.42 usr 1.87 sys = 2.29 cpu)
Testing select 2 rows from table
Time to select (10000): 6 secs ( 0.34 usr 2.68 sys = 3.02 cpu)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 47 secs ( 8.79 usr 16.29 sys = 25.08 cpu)
Total time: 230 secs (31.85 usr 149.46 sys = 181.31 cpu)
Testing server 'MySQL 3.21.34' at 1999-02-28 16:02:40
Testing the speed of creating and droping tables
All tests are done 1000 times
Testing create of tables
Time for create_table (1000): 5 wallclock secs ( 0.27 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Accessing tables
Time to select_group (1000): 1 wallclock secs ( 0.19 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing drop
Time for drop_table (1000): 1 wallclock secs ( 0.08 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing create+drop
Time for create+drop (1000): 1 wallclock secs ( 0.37 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for create_key+drop (1000): 3 wallclock secs ( 0.77 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Total time: 11 wallclock secs ( 1.68 usr 0.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 8:46:21
Testing the speed of creating and droping tables
All tests are done 1000 times
Okay..Let's make sure that our tables don't exist yet.
Testing create of tables
Time for create_table (1000): 4 wallclock secs ( 0.46 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group (1000): 1 wallclock secs ( 0.19 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table (1000): 1 wallclock secs ( 0.15 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (1000): 1 wallclock secs ( 0.63 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (1000): 2 wallclock secs ( 0.78 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 9 wallclock secs ( 2.21 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 3:13:52
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): 263 wallclock secs ( 2.58 usr 0.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 97 wallclock secs ( 1.09 usr 0.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 22 wallclock secs ( 0.59 usr 0.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 19 wallclock secs ( 2.43 usr 0.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 18 wallclock secs ( 3.88 usr 0.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 419 wallclock secs (10.58 usr 3.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 15:28:12
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): 29 wallclock secs ( 2.27 usr 0.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 16 wallclock secs ( 0.79 usr 0.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 12 wallclock secs ( 0.63 usr 0.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 29 wallclock secs ( 2.43 usr 0.82 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 40 wallclock secs ( 3.97 usr 0.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 126 wallclock secs (10.09 usr 3.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.37' at 2001-04-13 1:14:05
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): 43 wallclock secs ( 2.34 usr 2.21 sys + 0.00 cusr 0.00 csys = 4.55 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 20 wallclock secs ( 0.77 usr 1.34 sys + 0.00 cusr 0.00 csys = 2.11 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 19 wallclock secs ( 0.87 usr 0.84 sys + 0.00 cusr 0.00 csys = 1.71 CPU)
Testing create+drop
Time for create+drop (10000): 33 wallclock secs ( 2.64 usr 0.72 sys + 0.00 cusr 0.00 csys = 3.36 CPU)
Time for create_key+drop (10000): 39 wallclock secs ( 3.05 usr 0.72 sys + 0.00 cusr 0.00 csys = 3.77 CPU)
Total time: 154 wallclock secs ( 9.67 usr 5.83 sys + 0.00 cusr 0.00 csys = 15.50 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 12:10:41
Testing the speed of creating and droping tables
All tests are done 1000 times
Testing create of tables
Time for create_table (1000): 8 secs ( 0.30 usr 0.22 sys = 0.52 cpu)
Accessing tables
Time to select_group (1000): 5 secs ( 0.08 usr 0.18 sys = 0.26 cpu)
Testing drop
Time for drop_table (1000): 1 secs ( 0.02 usr 0.06 sys = 0.08 cpu)
Testing create+drop
Time for create+drop (1000): 3 secs ( 0.20 usr 0.31 sys = 0.51 cpu)
Time for create_key+drop (1000): 3 secs ( 0.21 usr 0.45 sys = 0.66 cpu)
Total time: 20 secs ( 0.81 usr 1.22 sys = 2.03 cpu)
Testing server 'MySQL 3.21.34' at 1999-02-28 16:02:51
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): 128 wallclock secs (30.13 usr 10.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing insert of duplicates
Time for insert_duplicates (300000): 26 wallclock secs ( 6.84 usr 3.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Retrieving data from the table
Time for select_big (10:3000000): 53 wallclock secs (28.53 usr 15.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for order_by_key (10:3000000): 71 wallclock secs (28.30 usr 20.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for order_by (10:3000000): 71 wallclock secs (28.62 usr 19.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_range_prefix (5010:42084): 24 wallclock secs ( 3.65 usr 0.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_range (5010:42084): 15 wallclock secs ( 3.70 usr 0.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_key_prefix (200000): 247 wallclock secs (94.75 usr 12.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_key (200000): 213 wallclock secs (109.13 usr 13.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 14 wallclock secs ( 6.53 usr 0.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_range (20000:43500): 14 wallclock secs ( 5.80 usr 0.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_group (111): 80 wallclock secs ( 0.12 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for min_max_on_key (3000): 395 wallclock secs ( 1.64 usr 0.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for min_max (60): 23 wallclock secs ( 0.04 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for count_on_key (100): 37 wallclock secs ( 0.06 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for count (100): 61 wallclock secs ( 0.09 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing update with functions
Time for update_key (500): 0 wallclock secs ( 0.05 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for update_key_big (501): 52 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing delete
Time for delete_key (500): 12 wallclock secs ( 0.02 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for delete_big (12): 72 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Insert into table with 16 keys and with a primary key with 16 parts
Time for insert_key (100000): 157 wallclock secs (14.40 usr 3.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing update of keys
Time for update_of_primary_key_many_keys (256): 72 wallclock secs ( 0.03 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Deleting everything from table
Time for delete_big (2): 133 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Total time: 1971 wallclock secs (362.50 usr 103.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 8:46:31
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): 148 wallclock secs (45.77 usr 8.55 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (300000): 16 wallclock secs ( 5.74 usr 1.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 68 wallclock secs (46.81 usr 8.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 69 wallclock secs (46.84 usr 7.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 90 wallclock secs (46.67 usr 8.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 305 wallclock secs ( 0.55 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 20 wallclock secs ( 5.91 usr 0.57 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (5010:42084): 20 wallclock secs ( 6.05 usr 0.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 406 wallclock secs (175.76 usr 12.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 401 wallclock secs (164.79 usr 11.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 22 wallclock secs ( 9.32 usr 0.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (20000:43500): 22 wallclock secs ( 9.27 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 58 wallclock secs ( 0.11 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (3000): 4 wallclock secs ( 2.23 usr 0.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 37 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 52 wallclock secs ( 0.16 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 73 wallclock secs ( 0.08 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (500): 1 wallclock secs ( 0.08 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 29 wallclock secs ( 0.08 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (100000): 381 wallclock secs (57.20 usr 11.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 34 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): 65 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 84 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 82 wallclock secs ( 0.01 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:
102 queries in 101 loops of 500 loops took 605 seconds
Estimated time for outer_join_not_found (500:504): 605 wallclock secs ( 0.13 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (500): 1 wallclock secs ( 0.12 usr 0.00 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): 209 wallclock secs (21.42 usr 3.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 60 wallclock secs ( 0.03 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big_many_keys (2): 257 wallclock secs ( 0.00 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 ( 2.46 usr 0.02 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)
Estimated total time: 6039 wallclock secs (648.24 usr 76.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 3:20:52
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): 93 wallclock secs (17.97 usr 8.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (300000): 14 wallclock secs ( 3.03 usr 3.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 31 wallclock secs (20.53 usr 10.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 30 wallclock secs (20.22 usr 10.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 47 wallclock secs (20.41 usr 15.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 174 wallclock secs ( 0.28 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 10 wallclock secs ( 2.73 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (5010:42084): 10 wallclock secs ( 2.73 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 130 wallclock secs (66.91 usr 10.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 128 wallclock secs (66.75 usr 11.61 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.10 usr 0.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (20000:43500): 8 wallclock secs ( 3.45 usr 0.82 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 52 wallclock secs ( 0.05 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 9 wallclock secs ( 4.75 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 29 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 51 wallclock secs ( 0.06 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 42 wallclock secs ( 0.10 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 62 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (500): 22 wallclock secs ( 2.61 usr 1.35 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 25 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 (15.38 usr 7.87 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 28 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): 51 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 63 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 60 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): 46 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.73 usr 0.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_big (12): 15 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): 111 wallclock secs (10.00 usr 3.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 37 wallclock secs ( 0.04 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_big_many_keys (2): 59 wallclock secs ( 0.00 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): 7 wallclock secs ( 1.92 usr 0.05 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: 1552 wallclock secs (263.84 usr 86.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 6:49:34
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): 111 wallclock secs (20.07 usr 12.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (100000): 24 wallclock secs ( 3.18 usr 3.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 33 wallclock secs (22.37 usr 10.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key (10:3000000): 34 wallclock secs (23.91 usr 10.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key_desc (10:3000000): 36 wallclock secs (23.89 usr 10.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key_prefix (10:3000000): 32 wallclock secs (22.21 usr 10.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key2 (10:3000000): 33 wallclock secs (22.58 usr 10.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big_key_diff (10:3000000): 50 wallclock secs (22.07 usr 16.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_big (10:3000000): 52 wallclock secs (22.29 usr 15.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_range (500:125750): 5 wallclock secs ( 1.14 usr 0.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key_prefix (500:125750): 3 wallclock secs ( 1.10 usr 0.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key2_diff (500:250500): 5 wallclock secs ( 1.12 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 191 wallclock secs ( 0.33 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 11 wallclock secs ( 3.03 usr 0.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (5010:42084): 10 wallclock secs ( 2.59 usr 0.68 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 134 wallclock secs (71.19 usr 14.71 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 126 wallclock secs (68.35 usr 14.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key2 (200000): 132 wallclock secs (69.41 usr 13.86 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.79 usr 0.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (20000:43500): 8 wallclock secs ( 3.77 usr 0.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 54 wallclock secs ( 0.05 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 8 wallclock secs ( 4.55 usr 0.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 32 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 51 wallclock secs ( 0.09 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 47 wallclock secs ( 0.05 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 64 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 (50000): 23 wallclock secs ( 2.80 usr 2.29 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 33 wallclock secs ( 0.11 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (300000): 113 wallclock secs (17.01 usr 12.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_with_key_prefix (100000): 32 wallclock secs ( 5.68 usr 4.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (10): 64 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): 57 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 72 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 67 wallclock secs ( 0.00 usr 0.01 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.00 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): 4 wallclock secs ( 0.56 usr 0.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_all (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): 154 wallclock secs (10.52 usr 4.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_primary_key_many_keys (256): 65 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting rows from the table
Time for delete_big_many_keys (128): 151 wallclock secs ( 0.03 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_all_many_keys (1): 151 wallclock secs ( 0.03 usr 0.01 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.88 usr 0.06 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: 2227 wallclock secs (451.81 usr 170.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.37' at 2001-04-13 1:16:40
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): 122 wallclock secs (20.64 usr 11.54 sys + 0.00 cusr 0.00 csys = 32.18 CPU)
Testing insert of duplicates
Time for insert_duplicates (100000): 31 wallclock secs ( 5.12 usr 4.16 sys + 0.00 cusr 0.00 csys = 9.28 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 32 wallclock secs (21.80 usr 10.01 sys + 0.00 cusr 0.00 csys = 31.81 CPU)
Time for order_by_big_key (10:3000000): 35 wallclock secs (23.27 usr 10.06 sys + 0.00 cusr 0.00 csys = 33.33 CPU)
Time for order_by_big_key_desc (10:3000000): 37 wallclock secs (23.23 usr 10.33 sys + 0.00 cusr 0.00 csys = 33.56 CPU)
Time for order_by_big_key_prefix (10:3000000): 33 wallclock secs (21.44 usr 10.24 sys + 0.00 cusr 0.00 csys = 31.68 CPU)
Time for order_by_big_key2 (10:3000000): 32 wallclock secs (21.65 usr 10.20 sys + 0.00 cusr 0.00 csys = 31.85 CPU)
Time for order_by_big_key_diff (10:3000000): 73 wallclock secs (21.66 usr 10.13 sys + 0.00 cusr 0.00 csys = 31.79 CPU)
Time for order_by_big (10:3000000): 77 wallclock secs (21.83 usr 9.99 sys + 0.00 cusr 0.00 csys = 31.82 CPU)
Time for order_by_range (500:125750): 8 wallclock secs ( 1.39 usr 0.40 sys + 0.00 cusr 0.00 csys = 1.79 CPU)
Time for order_by_key_prefix (500:125750): 5 wallclock secs ( 1.17 usr 0.47 sys + 0.00 cusr 0.00 csys = 1.64 CPU)
Time for order_by_key2_diff (500:250500): 9 wallclock secs ( 1.45 usr 0.89 sys + 0.00 cusr 0.00 csys = 2.34 CPU)
Time for select_diff_key (500:1000): 202 wallclock secs ( 0.26 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.32 CPU)
Time for select_range_prefix (5010:42084): 13 wallclock secs ( 2.65 usr 0.50 sys + 0.00 cusr 0.00 csys = 3.15 CPU)
Time for select_range_key2 (5010:42084): 12 wallclock secs ( 2.37 usr 0.75 sys + 0.00 cusr 0.00 csys = 3.12 CPU)
Time for select_key_prefix (200000): 141 wallclock secs (80.77 usr 13.11 sys + 0.00 cusr 0.00 csys = 93.88 CPU)
Time for select_key (200000): 131 wallclock secs (69.07 usr 11.59 sys + 0.00 cusr 0.00 csys = 80.66 CPU)
Time for select_key_return_key (200000): 125 wallclock secs (62.45 usr 10.60 sys + 0.00 cusr 0.00 csys = 73.05 CPU)
Time for select_key2 (200000): 140 wallclock secs (87.29 usr 11.66 sys + 0.00 cusr 0.00 csys = 98.95 CPU)
Time for select_key2_return_key (200000): 133 wallclock secs (65.03 usr 10.13 sys + 0.00 cusr 0.00 csys = 75.16 CPU)
Time for select_key2_return_prim (200000): 133 wallclock secs (75.39 usr 11.05 sys + 0.00 cusr 0.00 csys = 86.44 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 10 wallclock secs ( 3.84 usr 0.60 sys + 0.00 cusr 0.00 csys = 4.44 CPU)
Time for select_range_key2 (20000:43500): 9 wallclock secs ( 3.40 usr 0.76 sys + 0.00 cusr 0.00 csys = 4.16 CPU)
Time for select_group (111): 60 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.05 CPU)
Time for min_max_on_key (15000): 9 wallclock secs ( 3.51 usr 0.42 sys + 0.00 cusr 0.00 csys = 3.93 CPU)
Time for min_max (60): 33 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
Time for count_on_key (100): 54 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
Time for count (100): 45 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.03 CPU)
Time for count_distinct_big (20): 97 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (50000): 25 wallclock secs ( 2.74 usr 1.81 sys + 0.00 cusr 0.00 csys = 4.55 CPU)
Time for update_of_key_big (501): 36 wallclock secs ( 0.01 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.08 CPU)
Testing update with key
Time for update_with_key (300000): 119 wallclock secs (19.18 usr 12.34 sys + 0.00 cusr 0.00 csys = 31.52 CPU)
Time for update_with_key_prefix (100000): 36 wallclock secs ( 6.37 usr 3.90 sys + 0.00 cusr 0.00 csys = 10.27 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): 58 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
Time for outer_join (10:10): 112 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 110 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): 60 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.01 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): 10 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.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
Testing delete
Time for delete_key (10000): 4 wallclock secs ( 0.63 usr 0.36 sys + 0.00 cusr 0.00 csys = 0.99 CPU)
Time for delete_all (12): 18 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): 138 wallclock secs (10.42 usr 6.05 sys + 0.00 cusr 0.00 csys = 16.47 CPU)
Testing update of keys
Time for update_of_primary_key_many_keys (256): 43 wallclock secs ( 0.05 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.07 CPU)
Deleting rows from the table
Time for delete_big_many_keys (128): 77 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
Deleting everything from table
Time for delete_all_many_keys (1): 77 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.01 CPU)
Inserting 100000 rows with multiple values
Time for multiple_value_insert (100000): 10 wallclock secs ( 1.86 usr 0.05 sys + 0.00 cusr 0.00 csys = 1.91 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: 2773 wallclock secs (682.10 usr 184.31 sys + 0.00 cusr 0.00 csys = 866.41 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 13:27:34
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): 176 secs (13.67 usr 34.60 sys = 48.27 cpu)
Testing insert of duplicates
Time for insert_duplicates (300000): 34 secs ( 4.70 usr 8.53 sys = 13.23 cpu)
Retrieving data from the table
Time for select_big (10:3000000): 55 secs ( 3.26 usr 51.46 sys = 54.72 cpu)
Time for order_by_key (5:3000000): 92 secs ( 1.88 usr 62.99 sys = 64.87 cpu)
Time for order_by (5:3000000): 91 secs ( 1.63 usr 63.23 sys = 64.86 cpu)
Time for select_range_prefix (5010:42084): 26 secs ( 1.15 usr 4.63 sys = 5.78 cpu)
Time for select_range (5010:42084): 18 secs ( 0.73 usr 5.18 sys = 5.91 cpu)
Time for select_key_prefix (200000): 270 secs (60.23 usr 105.01 sys = 165.24 cpu)
Time for select_key (200000): 247 secs (65.75 usr 99.71 sys = 165.46 cpu)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 16 secs ( 2.97 usr 6.00 sys = 8.97 cpu)
Time for select_range (20000:43500): 15 secs ( 3.01 usr 5.54 sys = 8.55 cpu)
Time for select_group (111): 92 secs ( 0.01 usr 0.10 sys = 0.11 cpu)
Time for min_max_on_key (3000): 427 secs ( 0.07 usr 2.19 sys = 2.26 cpu)
Time for min_max (60): 25 secs ( 0.00 usr 0.07 sys = 0.07 cpu)
Time for count_on_key (100): 41 secs ( 0.01 usr 0.11 sys = 0.12 cpu)
Time for count (100): 58 secs ( 0.00 usr 0.09 sys = 0.09 cpu)
Testing update with functions
Time for update_key (500): 259 secs ( 4.80 usr 10.25 sys = 15.05 cpu)
Time for update_key_big (105003): 85 secs ( 0.41 usr 0.31 sys = 0.72 cpu)
Testing delete
Time for delete_key (500): 0 secs ( 0.05 usr 0.06 sys = 0.11 cpu)
Time for delete_big (12): 27 secs ( 0.00 usr 0.01 sys = 0.01 cpu)
Insert into table with 16 keys and with a primary key with 16 parts
Time for insert_key (100000): 698 secs ( 8.57 usr 12.08 sys = 20.65 cpu)
Testing update of keys
Time for update_key (256): 97 secs ( 0.01 usr 0.04 sys = 0.05 cpu)
Deleting everything from table
Time for delete_big (2): 120 secs ( 0.00 usr 0.00 sys = 0.00 cpu)
Total time: 2988 secs (172.92 usr 472.21 sys = 645.13 cpu)
Testing server 'MySQL 3.21.34' at 1999-02-28 16:35:44
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): 5 wallclock secs ( 1.32 usr 0.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing big selects on the table
Time for select_big (70:17207): 1 wallclock secs ( 0.23 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time for select_range (410:1057904): 320 wallclock secs (12.23 usr 6.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Note: Query took longer then time-limit: 600
Estimating end time based on:
48622 queries in 6946 loops of 10000 loops took 601 seconds
Estimated time for min_max_on_key (70000): 865 wallclock secs (38.44 usr 4.51 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Note: Query took longer then time-limit: 600
Estimating end time based on:
49800 queries in 9960 loops of 10000 loops took 601 seconds
Estimated time for count_on_key (50000): 603 wallclock secs (27.12 usr 3.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Estimated total time: 1794 wallclock secs (79.34 usr 14.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 9:47:21
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 ( 2.10 usr 0.28 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.32 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 345 wallclock secs (18.21 usr 2.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 261 wallclock secs (51.47 usr 3.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 596 wallclock secs (38.79 usr 2.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1209 wallclock secs (110.89 usr 8.88 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 3:46:46
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): 3 wallclock secs ( 0.64 usr 0.26 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.12 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 190 wallclock secs ( 8.49 usr 3.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 210 wallclock secs (21.63 usr 3.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 506 wallclock secs (17.66 usr 2.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (0:0): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (1000:2000): 110 wallclock secs ( 0.78 usr 0.10 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 58 wallclock secs ( 0.41 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 74 wallclock secs ( 1.18 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 75 wallclock secs ( 1.20 usr 0.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 570 wallclock secs (73.95 usr 55.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1797 wallclock secs (126.08 usr 67.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 7:26:42
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): 5 wallclock secs ( 1.03 usr 0.48 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.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 194 wallclock secs ( 9.08 usr 3.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 230 wallclock secs (22.79 usr 4.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 508 wallclock secs (16.98 usr 2.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:100000): 54 wallclock secs ( 1.00 usr 0.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (2000:2000): 119 wallclock secs ( 0.66 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 60 wallclock secs ( 0.40 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 81 wallclock secs ( 0.79 usr 0.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 80 wallclock secs ( 1.02 usr 0.43 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (100:1000000): 47 wallclock secs ( 7.46 usr 5.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1379 wallclock secs (61.35 usr 18.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.37' at 2001-04-13 2:02:54
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): 5 wallclock secs ( 0.80 usr 0.46 sys + 0.00 cusr 0.00 csys = 1.26 CPU)
Test if the database has a query cache
Time for select_query_cache (10000): 131 wallclock secs ( 3.58 usr 0.61 sys + 0.00 cusr 0.00 csys = 4.19 CPU)
Time for select_query_cache2 (10000): 131 wallclock secs ( 3.78 usr 0.68 sys + 0.00 cusr 0.00 csys = 4.46 CPU)
Testing big selects on the table
Time for select_big (70:17207): 1 wallclock secs ( 0.14 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.20 CPU)
Time for select_range (410:1057904): 206 wallclock secs ( 8.92 usr 3.47 sys + 0.00 cusr 0.00 csys = 12.39 CPU)
Time for min_max_on_key (70000): 228 wallclock secs (24.88 usr 3.68 sys + 0.00 cusr 0.00 csys = 28.56 CPU)
Time for count_on_key (50000): 541 wallclock secs (17.89 usr 2.91 sys + 0.00 cusr 0.00 csys = 20.80 CPU)
Time for count_group_on_key_parts (1000:100000): 60 wallclock secs ( 1.17 usr 0.36 sys + 0.00 cusr 0.00 csys = 1.53 CPU)
Testing count(distinct) on the table
Time for count_distinct_key_prefix (1000:1000): 56 wallclock secs ( 0.40 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.45 CPU)
Time for count_distinct (1000:1000): 65 wallclock secs ( 0.34 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.39 CPU)
Time for count_distinct_2 (1000:1000): 65 wallclock secs ( 0.36 usr 0.12 sys + 0.00 cusr 0.00 csys = 0.48 CPU)
Time for count_distinct_group_on_key (1000:6000): 64 wallclock secs ( 0.44 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.51 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 191 wallclock secs ( 1.32 usr 0.34 sys + 0.00 cusr 0.00 csys = 1.66 CPU)
Time for count_distinct_group (1000:100000): 190 wallclock secs ( 1.21 usr 0.35 sys + 0.00 cusr 0.00 csys = 1.56 CPU)
Time for count_distinct_big (100:1000000): 65 wallclock secs ( 7.60 usr 3.30 sys + 0.00 cusr 0.00 csys = 10.90 CPU)
Total time: 1999 wallclock secs (72.84 usr 16.51 sys + 0.00 cusr 0.00 csys = 89.35 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 14:17:23
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 secs ( 0.01 usr 1.78 sys = 1.79 cpu)
Testing big selects on the table
Time for select_big (70:17207): 1 secs ( 0.11 usr 0.25 sys = 0.36 cpu)
Time for select_range (410:1057904): 324 secs ( 6.24 usr 14.02 sys = 20.26 cpu)
Note: Query took longer then time-limit: 600
Estimating end time based on:
40173 queries in 5739 loops of 10000 loops took 601 seconds
Estimated time for min_max_on_key (70000): 1047 secs (14.57 usr 36.28 sys = 50.85 cpu)
Note: Query took longer then time-limit: 600
Estimating end time based on:
40640 queries in 8128 loops of 10000 loops took 601 seconds
Estimated time for count_on_key (50000): 739 secs (13.20 usr 22.31 sys = 35.51 cpu)
Estimated total time: 2117 secs (34.14 usr 74.63 sys = 108.77 cpu)
Testing server 'MySQL 3.21.34' at 1999-02-28 17:01: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 secs)
Inserting data
Time to insert (31000): 13 wallclock secs ( 2.22 usr 1.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Time to delete_big (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Running actual benchmark
Time for wisc_benchmark (114): 6 wallclock secs ( 2.48 usr 1.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Total time: 20 wallclock secs ( 4.70 usr 2.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU secs)
Testing server 'MySQL 3.23.3 alpha' at 1999-09-17 10:07:31
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): 15 wallclock secs ( 4.40 usr 0.87 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): 7 wallclock secs ( 3.42 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 23 wallclock secs ( 7.83 usr 1.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.17 alpha' at 2000-06-01 4:16: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): 11 wallclock secs ( 1.47 usr 0.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 0 wallclock secs ( 0.01 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.72 usr 0.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 15 wallclock secs ( 3.20 usr 1.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing server 'MySQL 3.23.29a gamma' at 2000-12-24 7:49:42 Testing server 'MySQL 3.23.37' at 2001-04-13 2:36:13
Wisconsin benchmark test 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) Time for create_table (3): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data Inserting data
Time to insert (31000): 12 wallclock secs ( 1.45 usr 1.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Time to insert (31000): 13 wallclock secs ( 1.72 usr 1.20 sys + 0.00 cusr 0.00 csys = 2.92 CPU)
Time to delete_big (1): 0 wallclock secs ( 0.00 usr 0.00 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 Running actual benchmark
Time for wisc_benchmark (114): 4 wallclock secs ( 1.80 usr 0.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Time for wisc_benchmark (114): 5 wallclock secs ( 2.23 usr 0.61 sys + 0.00 cusr 0.00 csys = 2.84 CPU)
Total time: 16 wallclock secs ( 3.25 usr 1.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU) Total time: 19 wallclock secs ( 3.95 usr 1.81 sys + 0.00 cusr 0.00 csys = 5.76 CPU)
Testing server 'MySQL 3.21.33' at 1998-08-21 14:42:57
Wisconsin benchmark test
Time for create_table (3): 0 secs ( 0.00 usr 0.00 sys = 0.00 cpu)
Inserting data
Time to insert (31000): 19 secs ( 1.36 usr 2.53 sys = 3.89 cpu)
Time to delete_big (1): 1 secs ( 0.00 usr 0.00 sys = 0.00 cpu)
Running actual benchmark
Time for wisc_benchmark (114): 7 secs ( 1.04 usr 2.86 sys = 3.90 cpu)
Total time: 27 secs ( 2.40 usr 5.39 sys = 7.79 cpu)
...@@ -195,7 +195,7 @@ sub new ...@@ -195,7 +195,7 @@ sub new
$limits{'working_blobs'} = 0; # HEAP tables can't handle BLOB's $limits{'working_blobs'} = 0; # HEAP tables can't handle BLOB's
} }
if (defined($main::opt_create_options) && if (defined($main::opt_create_options) &&
$main::opt_create_options =~ /type=innobase/i) $main::opt_create_options =~ /type=innodb/i)
{ {
$limits{'max_text_size'} = 8000; # Limit in Innobase $limits{'max_text_size'} = 8000; # Limit in Innobase
} }
......
...@@ -21,7 +21,7 @@ MYSQLDATAdir = $(localstatedir) ...@@ -21,7 +21,7 @@ MYSQLDATAdir = $(localstatedir)
MYSQLSHAREdir = $(pkgdatadir) MYSQLSHAREdir = $(pkgdatadir)
MYSQLBASEdir= $(prefix) MYSQLBASEdir= $(prefix)
INCLUDES = @MT_INCLUDES@ \ INCLUDES = @MT_INCLUDES@ \
@bdb_includes@ @innobase_includes@ @gemini_includes@ \ @bdb_includes@ @innodb_includes@ @gemini_includes@ \
-I$(srcdir)/../include \ -I$(srcdir)/../include \
-I$(srcdir)/../regex \ -I$(srcdir)/../regex \
-I$(srcdir) -I../include -I.. -I. -I$(srcdir) -I../include -I.. -I.
......
This diff is collapsed.
...@@ -149,8 +149,8 @@ class ha_innobase: public handler ...@@ -149,8 +149,8 @@ class ha_innobase: public handler
enum thr_lock_type lock_type); enum thr_lock_type lock_type);
}; };
extern bool innobase_skip; extern bool innodb_skip;
extern SHOW_COMP_OPTION have_innobase; extern SHOW_COMP_OPTION have_innodb;
extern uint innobase_init_flags, innobase_lock_type; extern uint innobase_init_flags, innobase_lock_type;
extern ulong innobase_cache_size; extern ulong innobase_cache_size;
extern char *innobase_home, *innobase_tmpdir, *innobase_logdir; extern char *innobase_home, *innobase_tmpdir, *innobase_logdir;
......
...@@ -79,7 +79,7 @@ enum db_type ha_checktype(enum db_type database_type) ...@@ -79,7 +79,7 @@ enum db_type ha_checktype(enum db_type database_type)
#endif #endif
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
case DB_TYPE_INNOBASE: case DB_TYPE_INNOBASE:
return(innobase_skip ? DB_TYPE_MYISAM : database_type); return(innodb_skip ? DB_TYPE_MYISAM : database_type);
#endif #endif
#ifdef HAVE_GEMINI_DB #ifdef HAVE_GEMINI_DB
case DB_TYPE_GEMINI: case DB_TYPE_GEMINI:
...@@ -156,14 +156,14 @@ int ha_init() ...@@ -156,14 +156,14 @@ int ha_init()
} }
#endif #endif
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
if (!innobase_skip) if (!innodb_skip)
{ {
if (innobase_init()) if (innobase_init())
return -1; return -1;
if (!innobase_skip) // If we couldn't use handler if (!innodb_skip) // If we couldn't use handler
opt_using_transactions=1; opt_using_transactions=1;
else else
have_innobase=SHOW_OPTION_DISABLED; have_innodb=SHOW_OPTION_DISABLED;
} }
#endif #endif
#ifdef HAVE_GEMINI_DB #ifdef HAVE_GEMINI_DB
...@@ -201,7 +201,7 @@ int ha_panic(enum ha_panic_function flag) ...@@ -201,7 +201,7 @@ int ha_panic(enum ha_panic_function flag)
error|=berkeley_end(); error|=berkeley_end();
#endif #endif
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
if (!innobase_skip) if (!innodb_skip)
error|=innobase_end(); error|=innobase_end();
#endif #endif
#ifdef HAVE_GEMINI_DB #ifdef HAVE_GEMINI_DB
...@@ -215,7 +215,7 @@ int ha_panic(enum ha_panic_function flag) ...@@ -215,7 +215,7 @@ int ha_panic(enum ha_panic_function flag)
void ha_close_connection(THD* thd) void ha_close_connection(THD* thd)
{ {
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
if (!innobase_skip) if (!innodb_skip)
innobase_close_connection(thd); innobase_close_connection(thd);
#endif #endif
#ifdef HAVE_GEMINI_DB #ifdef HAVE_GEMINI_DB
...@@ -380,7 +380,7 @@ bool ha_flush_logs() ...@@ -380,7 +380,7 @@ bool ha_flush_logs()
result=1; result=1;
#endif #endif
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
if (!innobase_skip && innobase_flush_logs()) if (!innodb_skip && innobase_flush_logs())
result=1; result=1;
#endif #endif
return result; return result;
......
...@@ -165,9 +165,9 @@ SHOW_COMP_OPTION have_gemini=SHOW_OPTION_YES; ...@@ -165,9 +165,9 @@ SHOW_COMP_OPTION have_gemini=SHOW_OPTION_YES;
SHOW_COMP_OPTION have_gemini=SHOW_OPTION_NO; SHOW_COMP_OPTION have_gemini=SHOW_OPTION_NO;
#endif #endif
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
SHOW_COMP_OPTION have_innobase=SHOW_OPTION_YES; SHOW_COMP_OPTION have_innodb=SHOW_OPTION_YES;
#else #else
SHOW_COMP_OPTION have_innobase=SHOW_OPTION_NO; SHOW_COMP_OPTION have_innodb=SHOW_OPTION_NO;
#endif #endif
#ifndef NO_ISAM #ifndef NO_ISAM
SHOW_COMP_OPTION have_isam=SHOW_OPTION_YES; SHOW_COMP_OPTION have_isam=SHOW_OPTION_YES;
...@@ -2481,14 +2481,14 @@ enum options { ...@@ -2481,14 +2481,14 @@ enum options {
OPT_REPLICATE_WILD_IGNORE_TABLE, OPT_REPLICATE_WILD_IGNORE_TABLE,
OPT_DISCONNECT_SLAVE_EVENT_COUNT, OPT_DISCONNECT_SLAVE_EVENT_COUNT,
OPT_ABORT_SLAVE_EVENT_COUNT, OPT_ABORT_SLAVE_EVENT_COUNT,
OPT_INNOBASE_DATA_HOME_DIR, OPT_INNODB_DATA_HOME_DIR,
OPT_INNOBASE_DATA_FILE_PATH, OPT_INNODB_DATA_FILE_PATH,
OPT_INNOBASE_LOG_GROUP_HOME_DIR, OPT_INNODB_LOG_GROUP_HOME_DIR,
OPT_INNOBASE_LOG_ARCH_DIR, OPT_INNODB_LOG_ARCH_DIR,
OPT_INNOBASE_LOG_ARCHIVE, OPT_INNODB_LOG_ARCHIVE,
OPT_INNOBASE_FLUSH_LOG_AT_TRX_COMMIT, OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT,
OPT_SAFE_SHOW_DB, OPT_SAFE_SHOW_DB,
OPT_GEMINI_SKIP, OPT_INNOBASE_SKIP, OPT_GEMINI_SKIP, OPT_INNODB_SKIP,
OPT_TEMP_POOL, OPT_DO_PSTACK, OPT_TX_ISOLATION, OPT_TEMP_POOL, OPT_DO_PSTACK, OPT_TX_ISOLATION,
OPT_GEMINI_FLUSH_LOG, OPT_GEMINI_RECOVER, OPT_GEMINI_FLUSH_LOG, OPT_GEMINI_RECOVER,
OPT_GEMINI_UNBUFFERED_IO, OPT_SKIP_SAFEMALLOC, OPT_GEMINI_UNBUFFERED_IO, OPT_SKIP_SAFEMALLOC,
...@@ -2537,19 +2537,19 @@ static struct option long_options[] = { ...@@ -2537,19 +2537,19 @@ static struct option long_options[] = {
#endif #endif
/* We must always support this option to make scripts like mysqltest easier /* We must always support this option to make scripts like mysqltest easier
to do */ to do */
{"innobase_data_file_path", required_argument, 0, {"innodb_data_file_path", required_argument, 0,
OPT_INNOBASE_DATA_FILE_PATH}, OPT_INNODB_DATA_FILE_PATH},
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
{"innobase_data_home_dir", required_argument, 0, {"innodb_data_home_dir", required_argument, 0,
OPT_INNOBASE_DATA_HOME_DIR}, OPT_INNODB_DATA_HOME_DIR},
{"innobase_log_group_home_dir", required_argument, 0, {"innodb_log_group_home_dir", required_argument, 0,
OPT_INNOBASE_LOG_GROUP_HOME_DIR}, OPT_INNODB_LOG_GROUP_HOME_DIR},
{"innobase_log_arch_dir", required_argument, 0, {"innodb_log_arch_dir", required_argument, 0,
OPT_INNOBASE_LOG_ARCH_DIR}, OPT_INNODB_LOG_ARCH_DIR},
{"innobase_log_archive", optional_argument, 0, {"innodb_log_archive", optional_argument, 0,
OPT_INNOBASE_LOG_ARCHIVE}, OPT_INNODB_LOG_ARCHIVE},
{"innobase_flush_log_at_trx_commit", optional_argument, 0, {"innodb_flush_log_at_trx_commit", optional_argument, 0,
OPT_INNOBASE_FLUSH_LOG_AT_TRX_COMMIT}, OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT},
#endif #endif
{"help", no_argument, 0, '?'}, {"help", no_argument, 0, '?'},
{"init-file", required_argument, 0, (int) OPT_INIT_FILE}, {"init-file", required_argument, 0, (int) OPT_INIT_FILE},
...@@ -2607,7 +2607,7 @@ static struct option long_options[] = { ...@@ -2607,7 +2607,7 @@ static struct option long_options[] = {
{"server-id", required_argument, 0, (int) OPT_SERVER_ID}, {"server-id", required_argument, 0, (int) OPT_SERVER_ID},
{"set-variable", required_argument, 0, 'O'}, {"set-variable", required_argument, 0, 'O'},
{"skip-bdb", no_argument, 0, (int) OPT_BDB_SKIP}, {"skip-bdb", no_argument, 0, (int) OPT_BDB_SKIP},
{"skip-innobase", no_argument, 0, (int) OPT_INNOBASE_SKIP}, {"skip-innodb", no_argument, 0, (int) OPT_INNODB_SKIP},
{"skip-gemini", no_argument, 0, (int) OPT_GEMINI_SKIP}, {"skip-gemini", no_argument, 0, (int) OPT_GEMINI_SKIP},
{"skip-concurrent-insert", no_argument, 0, (int) OPT_SKIP_CONCURRENT_INSERT}, {"skip-concurrent-insert", no_argument, 0, (int) OPT_SKIP_CONCURRENT_INSERT},
{"skip-delay-key-write", no_argument, 0, (int) OPT_SKIP_DELAY_KEY_WRITE}, {"skip-delay-key-write", no_argument, 0, (int) OPT_SKIP_DELAY_KEY_WRITE},
...@@ -2681,25 +2681,25 @@ CHANGEABLE_VAR changeable_vars[] = { ...@@ -2681,25 +2681,25 @@ CHANGEABLE_VAR changeable_vars[] = {
1, 0, LONG_MAX, 0, 1 }, 1, 0, LONG_MAX, 0, 1 },
#endif #endif
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
{"innobase_mirrored_log_groups", {"innodb_mirrored_log_groups",
(long*) &innobase_mirrored_log_groups, 1, 1, 10, 0, 1}, (long*) &innobase_mirrored_log_groups, 1, 1, 10, 0, 1},
{"innobase_log_files_in_group", {"innodb_log_files_in_group",
(long*) &innobase_log_files_in_group, 2, 2, 100, 0, 1}, (long*) &innobase_log_files_in_group, 2, 2, 100, 0, 1},
{"innobase_log_file_size", {"innodb_log_file_size",
(long*) &innobase_log_file_size, 5*1024*1024L, 1*1024*1024L, (long*) &innobase_log_file_size, 5*1024*1024L, 1*1024*1024L,
~0L, 0, 1024*1024L}, ~0L, 0, 1024*1024L},
{"innobase_log_buffer_size", {"innodb_log_buffer_size",
(long*) &innobase_log_buffer_size, 1024*1024L, 256*1024L, (long*) &innobase_log_buffer_size, 1024*1024L, 256*1024L,
~0L, 0, 1024}, ~0L, 0, 1024},
{"innobase_buffer_pool_size", {"innodb_buffer_pool_size",
(long*) &innobase_buffer_pool_size, 8*1024*1024L, 1024*1024L, (long*) &innobase_buffer_pool_size, 8*1024*1024L, 1024*1024L,
~0L, 0, 1024*1024L}, ~0L, 0, 1024*1024L},
{"innobase_additional_mem_pool_size", {"innodb_additional_mem_pool_size",
(long*) &innobase_additional_mem_pool_size, 1*1024*1024L, 512*1024L, (long*) &innobase_additional_mem_pool_size, 1*1024*1024L, 512*1024L,
~0L, 0, 1024}, ~0L, 0, 1024},
{"innobase_file_io_threads", {"innodb_file_io_threads",
(long*) &innobase_file_io_threads, 9, 4, 64, 0, 1}, (long*) &innobase_file_io_threads, 9, 4, 64, 0, 1},
{"innobase_lock_wait_timeout", {"innodb_lock_wait_timeout",
(long*) &innobase_lock_wait_timeout, 1024 * 1024 * 1024, 1, (long*) &innobase_lock_wait_timeout, 1024 * 1024 * 1024, 1,
1024 * 1024 * 1024, 0, 1}, 1024 * 1024 * 1024, 0, 1},
#endif #endif
...@@ -2816,18 +2816,18 @@ struct show_var_st init_vars[]= { ...@@ -2816,18 +2816,18 @@ struct show_var_st init_vars[]= {
#endif #endif
{"have_bdb", (char*) &have_berkeley_db, SHOW_HAVE}, {"have_bdb", (char*) &have_berkeley_db, SHOW_HAVE},
{"have_gemini", (char*) &have_gemini, SHOW_HAVE}, {"have_gemini", (char*) &have_gemini, SHOW_HAVE},
{"have_innobase", (char*) &have_innobase, SHOW_HAVE}, {"have_innodb", (char*) &have_innodb, SHOW_HAVE},
{"have_isam", (char*) &have_isam, SHOW_HAVE}, {"have_isam", (char*) &have_isam, SHOW_HAVE},
{"have_raid", (char*) &have_raid, SHOW_HAVE}, {"have_raid", (char*) &have_raid, SHOW_HAVE},
{"have_ssl", (char*) &have_ssl, SHOW_HAVE}, {"have_ssl", (char*) &have_ssl, SHOW_HAVE},
{"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR}, {"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR},
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
{"innobase_data_file_path", (char*) &innobase_data_file_path, SHOW_CHAR_PTR}, {"innodb_data_file_path", (char*) &innobase_data_file_path, SHOW_CHAR_PTR},
{"innobase_data_home_dir", (char*) &innobase_data_home_dir, SHOW_CHAR_PTR}, {"innodb_data_home_dir", (char*) &innobase_data_home_dir, SHOW_CHAR_PTR},
{"innobase_flush_log_at_trx_commit", (char*) &innobase_flush_log_at_trx_commit, SHOW_MY_BOOL}, {"innodb_flush_log_at_trx_commit", (char*) &innobase_flush_log_at_trx_commit, SHOW_MY_BOOL},
{"innobase_log_arch_dir", (char*) &innobase_log_arch_dir, SHOW_CHAR_PTR}, {"innodb_log_arch_dir", (char*) &innobase_log_arch_dir, SHOW_CHAR_PTR},
{"innobase_log_archive", (char*) &innobase_log_archive, SHOW_MY_BOOL}, {"innodb_log_archive", (char*) &innobase_log_archive, SHOW_MY_BOOL},
{"innobase_log_group_home_dir", (char*) &innobase_log_group_home_dir, SHOW_CHAR_PTR}, {"innodb_log_group_home_dir", (char*) &innobase_log_group_home_dir, SHOW_CHAR_PTR},
#endif #endif
{"interactive_timeout", (char*) &net_interactive_timeout, SHOW_LONG}, {"interactive_timeout", (char*) &net_interactive_timeout, SHOW_LONG},
{"join_buffer_size", (char*) &join_buff_size, SHOW_LONG}, {"join_buffer_size", (char*) &join_buff_size, SHOW_LONG},
...@@ -3097,14 +3097,14 @@ static void usage(void) ...@@ -3097,14 +3097,14 @@ static void usage(void)
#endif #endif
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
puts("\ puts("\
--innobase_data_home_dir=dir The common part for innobase table spaces\n\ --innodb_data_home_dir=dir The common part for Innodb table spaces\n\
--innobase_data_file_path=dir Path to individual files and their sizes\n\ --innodb_data_file_path=dir Path to individual files and their sizes\n\
--innobase_flush_log_at_trx_commit[=#]\n\ --innodb_flush_log_at_trx_commit[=#]\n\
Set to 0 if you don't want to flush logs\n\ Set to 0 if you don't want to flush logs\n\
--innobase_log_arch_dir=dir Where full logs should be archived\n\ --innodb_log_arch_dir=dir Where full logs should be archived\n\
--innobase_log_archive[=#] Set to 1 if you want to have logs archived\n\ --innodb_log_archive[=#] Set to 1 if you want to have logs archived\n\
--innobase_log_group_home_dir=dir Path to Innobase log files.\n\ --innodb_log_group_home_dir=dir Path to innodb log files.\n\
--skip-innobase Don't use innobase (will save memory)\n\ --skip-innodb Don't use Innodb (will save memory)\n\
"); ");
#endif /* HAVE_INNOBASE_DB */ #endif /* HAVE_INNOBASE_DB */
print_defaults("my",load_default_groups); print_defaults("my",load_default_groups);
...@@ -3657,31 +3657,31 @@ static void get_options(int argc,char **argv) ...@@ -3657,31 +3657,31 @@ static void get_options(int argc,char **argv)
gemini_options |= GEMOPT_UNBUFFERED_IO; gemini_options |= GEMOPT_UNBUFFERED_IO;
#endif #endif
break; break;
case OPT_INNOBASE_SKIP: case OPT_INNODB_SKIP:
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
innobase_skip=1; innodb_skip=1;
have_innobase=SHOW_OPTION_DISABLED; have_innodb=SHOW_OPTION_DISABLED;
#endif #endif
break; break;
case OPT_INNOBASE_DATA_FILE_PATH: case OPT_INNODB_DATA_FILE_PATH:
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
innobase_data_file_path=optarg; innobase_data_file_path=optarg;
#endif #endif
break; break;
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
case OPT_INNOBASE_DATA_HOME_DIR: case OPT_INNODB_DATA_HOME_DIR:
innobase_data_home_dir=optarg; innobase_data_home_dir=optarg;
break; break;
case OPT_INNOBASE_LOG_GROUP_HOME_DIR: case OPT_INNODB_LOG_GROUP_HOME_DIR:
innobase_log_group_home_dir=optarg; innobase_log_group_home_dir=optarg;
break; break;
case OPT_INNOBASE_LOG_ARCH_DIR: case OPT_INNODB_LOG_ARCH_DIR:
innobase_log_arch_dir=optarg; innobase_log_arch_dir=optarg;
break; break;
case OPT_INNOBASE_LOG_ARCHIVE: case OPT_INNODB_LOG_ARCHIVE:
innobase_log_archive= optarg ? test(atoi(optarg)) : 1; innobase_log_archive= optarg ? test(atoi(optarg)) : 1;
break; break;
case OPT_INNOBASE_FLUSH_LOG_AT_TRX_COMMIT: case OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT:
innobase_flush_log_at_trx_commit= optarg ? test(atoi(optarg)) : 1; innobase_flush_log_at_trx_commit= optarg ? test(atoi(optarg)) : 1;
break; break;
#endif /* HAVE_INNOBASE_DB */ #endif /* HAVE_INNOBASE_DB */
......
...@@ -150,8 +150,8 @@ int mysql_delete(THD *thd, ...@@ -150,8 +150,8 @@ int mysql_delete(THD *thd,
(OPTION_NOT_AUTO_COMMIT | OPTION_BEGIN))); (OPTION_NOT_AUTO_COMMIT | OPTION_BEGIN)));
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
/* We need to add code to not generate table based on the table type */ /* We need to add code to not generate table based on the table type */
if (!innobase_skip) if (!innodb_skip)
use_generate_table=0; // Innobase can't use re-generate table use_generate_table=0; // Innodb can't use re-generate table
#endif #endif
if (use_generate_table && ! thd->open_tables) if (use_generate_table && ! thd->open_tables)
{ {
......
...@@ -47,20 +47,20 @@ server-id = 1 ...@@ -47,20 +47,20 @@ server-id = 1
#set-variable = bdb_max_lock=100000 #set-variable = bdb_max_lock=100000
# Uncomment the following if you are using Innobase tables # Uncomment the following if you are using Innobase tables
#innobase_data_home_dir = @localstatedir@/ #innodb_data_home_dir = @localstatedir@/
#innobase_log_group_home_dir = @localstatedir@/ #innodb_log_group_home_dir = @localstatedir@/
#innobase_log_arch_dir = @localstatedir@/ #innodb_log_arch_dir = @localstatedir@/
#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M #innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innobase_mirrored_log_groups=1 #set-variable = innodb_mirrored_log_groups=1
#set-variable = innobase_log_files_in_group=3 #set-variable = innodb_log_files_in_group=3
#set-variable = innobase_log_file_size=5M #set-variable = innodb_log_file_size=5M
#set-variable = innobase_log_buffer_size=8M #set-variable = innodb_log_buffer_size=8M
#innobase_flush_log_at_trx_commit=1 #innodb_flush_log_at_trx_commit=1
#innobase_log_archive=0 #innodb_log_archive=0
#set-variable = innobase_buffer_pool_size=16M #set-variable = innodb_buffer_pool_size=16M
#set-variable = innobase_additional_mem_pool_size=2M #set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innobase_file_io_threads=4 #set-variable = innodb_file_io_threads=4
#set-variable = innobase_lock_wait_timeout=50 #set-variable = innodb_lock_wait_timeout=50
[mysqldump] [mysqldump]
quick quick
......
...@@ -43,20 +43,20 @@ server-id = 1 ...@@ -43,20 +43,20 @@ server-id = 1
#set-variable = bdb_max_lock=100000 #set-variable = bdb_max_lock=100000
# Uncomment the following if you are using Innobase tables # Uncomment the following if you are using Innobase tables
#innobase_data_home_dir = @localstatedir@/ #innodb_data_home_dir = @localstatedir@/
#innobase_log_group_home_dir = @localstatedir@/ #innodb_log_group_home_dir = @localstatedir@/
#innobase_log_arch_dir = @localstatedir@/ #innodb_log_arch_dir = @localstatedir@/
#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M #innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innobase_mirrored_log_groups=1 #set-variable = innodb_mirrored_log_groups=1
#set-variable = innobase_log_files_in_group=3 #set-variable = innodb_log_files_in_group=3
#set-variable = innobase_log_file_size=5M #set-variable = innodb_log_file_size=5M
#set-variable = innobase_log_buffer_size=8M #set-variable = innodb_log_buffer_size=8M
#innobase_flush_log_at_trx_commit=1 #innodb_flush_log_at_trx_commit=1
#innobase_log_archive=0 #innodb_log_archive=0
#set-variable = innobase_buffer_pool_size=16M #set-variable = innodb_buffer_pool_size=16M
#set-variable = innobase_additional_mem_pool_size=2M #set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innobase_file_io_threads=4 #set-variable = innodb_file_io_threads=4
#set-variable = innobase_lock_wait_timeout=50 #set-variable = innodb_lock_wait_timeout=50
# Point the following paths to different dedicated disks # Point the following paths to different dedicated disks
#tmpdir = /tmp/ #tmpdir = /tmp/
......
...@@ -45,20 +45,20 @@ server-id = 1 ...@@ -45,20 +45,20 @@ server-id = 1
#set-variable = bdb_max_lock=10000 #set-variable = bdb_max_lock=10000
# Uncomment the following if you are using Innobase tables # Uncomment the following if you are using Innobase tables
#innobase_data_home_dir = @localstatedir@/ #innodb_data_home_dir = @localstatedir@/
#innobase_log_group_home_dir = @localstatedir@/ #innodb_log_group_home_dir = @localstatedir@/
#innobase_log_arch_dir = @localstatedir@/ #innodb_log_arch_dir = @localstatedir@/
#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M #innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innobase_mirrored_log_groups=1 #set-variable = innodb_mirrored_log_groups=1
#set-variable = innobase_log_files_in_group=3 #set-variable = innodb_log_files_in_group=3
#set-variable = innobase_log_file_size=5M #set-variable = innodb_log_file_size=5M
#set-variable = innobase_log_buffer_size=8M #set-variable = innodb_log_buffer_size=8M
#innobase_flush_log_at_trx_commit=1 #innodb_flush_log_at_trx_commit=1
#innobase_log_archive=0 #innodb_log_archive=0
#set-variable = innobase_buffer_pool_size=16M #set-variable = innodb_buffer_pool_size=16M
#set-variable = innobase_additional_mem_pool_size=2M #set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innobase_file_io_threads=4 #set-variable = innodb_file_io_threads=4
#set-variable = innobase_lock_wait_timeout=50 #set-variable = innodb_lock_wait_timeout=50
[mysqldump] [mysqldump]
quick quick
......
...@@ -42,20 +42,20 @@ server-id = 1 ...@@ -42,20 +42,20 @@ server-id = 1
#skip-bdb #skip-bdb
# Uncomment the following if you are using Innobase tables # Uncomment the following if you are using Innobase tables
#innobase_data_home_dir = @localstatedir@/ #innodb_data_home_dir = @localstatedir@/
#innobase_log_group_home_dir = @localstatedir@/ #innodb_log_group_home_dir = @localstatedir@/
#innobase_log_arch_dir = @localstatedir@/ #innodb_log_arch_dir = @localstatedir@/
#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M #innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innobase_mirrored_log_groups=1 #set-variable = innodb_mirrored_log_groups=1
#set-variable = innobase_log_files_in_group=3 #set-variable = innodb_log_files_in_group=3
#set-variable = innobase_log_file_size=5M #set-variable = innodb_log_file_size=5M
#set-variable = innobase_log_buffer_size=8M #set-variable = innodb_log_buffer_size=8M
#innobase_flush_log_at_trx_commit=1 #innodb_flush_log_at_trx_commit=1
#innobase_log_archive=0 #innodb_log_archive=0
#set-variable = innobase_buffer_pool_size=16M #set-variable = innodb_buffer_pool_size=16M
#set-variable = innobase_additional_mem_pool_size=2M #set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innobase_file_io_threads=4 #set-variable = innodb_file_io_threads=4
#set-variable = innobase_lock_wait_timeout=50 #set-variable = innodb_lock_wait_timeout=50
[mysqldump] [mysqldump]
quick quick
......
...@@ -22,7 +22,7 @@ Obsoletes: mysql ...@@ -22,7 +22,7 @@ Obsoletes: mysql
# Think about what you use here since the first step is to # Think about what you use here since the first step is to
# run a rm -rf # run a rm -rf
BuildRoot: /var/tmp/mysql BuildRoot: /var/tmp/mysql-max
# From the manual # From the manual
%description %description
...@@ -72,7 +72,7 @@ para maiores informa ...@@ -72,7 +72,7 @@ para maiores informa
%prep %prep
%setup -n mysql-max-%{mysql_version} %setup -n mysql-max-%{mysql_version}
# %setup -T -D -a 1 -n mysql-%{mysql_version} # %setup -T -D -a 1 -n mysql-max-%{mysql_version}
%build %build
# The all-static flag is to make the RPM work on different # The all-static flag is to make the RPM work on different
...@@ -105,7 +105,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \ ...@@ -105,7 +105,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \
--includedir=/usr/include \ --includedir=/usr/include \
--mandir=/usr/man \ --mandir=/usr/man \
--with-berkeley-db \ --with-berkeley-db \
--with-innobase \ --with-innodb \
--with-comment=\"Official MySQL-Max RPM\"; --with-comment=\"Official MySQL-Max RPM\";
# Add this for more debugging support # Add this for more debugging support
# --with-debug # --with-debug
...@@ -118,7 +118,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \ ...@@ -118,7 +118,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \
# Use the build root for temporary storage of the shared libraries. # Use the build root for temporary storage of the shared libraries.
RBR=$RPM_BUILD_ROOT RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version} MBD=$RPM_BUILD_DIR/mysql-max-%{mysql_version}
if test -z "$RBR" -o "$RBR" = "/" if test -z "$RBR" -o "$RBR" = "/"
then then
echo "RPM_BUILD_ROOT has stupid value" echo "RPM_BUILD_ROOT has stupid value"
...@@ -140,7 +140,7 @@ BuildMySQL "--disable-shared" \ ...@@ -140,7 +140,7 @@ BuildMySQL "--disable-shared" \
%install -n mysql-max-%{mysql_version} %install -n mysql-max-%{mysql_version}
RBR=$RPM_BUILD_ROOT RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version} MBD=$RPM_BUILD_DIR/mysql-max-%{mysql_version}
# Ensure that needed directories exists # Ensure that needed directories exists
install -d $RBR/etc/{logrotate.d,rc.d/init.d} install -d $RBR/etc/{logrotate.d,rc.d/init.d}
install -d $RBR/var/lib/mysql/mysql install -d $RBR/var/lib/mysql/mysql
...@@ -157,7 +157,7 @@ install -m644 $MBD/support-files/mysql-log-rotate $RBR/etc/logrotate.d/mysql ...@@ -157,7 +157,7 @@ install -m644 $MBD/support-files/mysql-log-rotate $RBR/etc/logrotate.d/mysql
install -m755 $MBD/support-files/mysql.server $RBR/etc/rc.d/init.d/mysql install -m755 $MBD/support-files/mysql.server $RBR/etc/rc.d/init.d/mysql
# Install docs # Install docs
install -m644 $RPM_BUILD_DIR/mysql-%{mysql_version}/Docs/mysql.info \ install -m644 $RPM_BUILD_DIR/mysql-max-%{mysql_version}/Docs/mysql.info \
$RBR/usr/info/mysql.info $RBR/usr/info/mysql.info
for file in README COPYING COPYING.LIB Docs/manual_toc.html Docs/manual.html \ for file in README COPYING COPYING.LIB Docs/manual_toc.html Docs/manual.html \
Docs/manual.txt Docs/manual.texi Docs/manual.ps \ Docs/manual.txt Docs/manual.texi Docs/manual.ps \
...@@ -259,5 +259,5 @@ fi ...@@ -259,5 +259,5 @@ fi
%changelog %changelog
* 2000-04-01 Monty * Fri Apr 13 2001 Monty
First version of mysql-max.spec.sh based on mysql.spec.sh First version of mysql-max.spec.sh based on mysql.spec.sh
This diff is collapsed.
This diff is collapsed.
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