List:Internals« Previous MessageNext Message »
From:jon Date:May 13 2005 1:31am
Subject:bk commit - mysqldoc@docsrva tree (jon:1.2659)
View as plain text  
Below is the list of changes that have just been committed into a local
mysqldoc repository of jon. When jon does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html

ChangeSet
  1.2659 05/05/13 11:31:24 jon@stripped +1 -0
  Merge bk://mysqldoc@stripped
  into gigan.homedns.org:/home/jon/bk/mysqldoc

  Docs/manual.texi
    1.2850 05/05/13 11:31:21 jon@stripped +0 -0
    Auto merged

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	jon
# Host:	gigan.site
# Root:	/home/jon/bk/mysqldoc/RESYNC

--- 1.2849/Docs/manual.texi	2005-05-13 10:34:26 +10:00
+++ 1.2850/Docs/manual.texi	2005-05-13 11:31:21 +10:00
@@ -12932,6 +12932,7 @@
 @cindex tar, problems on Solaris
 @cindex errors, directory checksum
 @cindex checksum errors
+@cindex InnoDB, Solaris 10 x86_64 issues
 
 On Solaris, you may run into trouble even before you get the MySQL
 distribution unpacked!  Solaris @command{tar} can't handle long filenames, so
@@ -13016,6 +13017,11 @@
 If you create a 64-bit @command{mysqld} binary, it is 4% slower than the 32-bit
 binary, but can handle more threads and memory.
 
+When using Solaris 10 for x86_64, you should mount any filesystems on which you
+intend to store InnoDB files with the @code{forcedirectio} option. (By default
+mounting is done without this option.) Failing to do so will cause a significant
+drop in performance when using the InnoDB storage engine on this platform.
+
 If you get a problem with @code{fdatasync} or @code{sched_yield},
 you can fix this by adding @code{LIBS=-lrt} to the @command{configure} line
 
@@ -68406,7 +68412,7 @@
 a matching candidate key value in the parent table. The action
 @code{InnoDB} takes for any @code{UPDATE} or @code{DELETE} operation
 that attempts to update or delete a candidate key value in the parent
-table that has some matching rows in the child table is dependent on 
+table that has some matching rows in the child table is dependent on
 the @emph{referential action} specified using @code{ON UPDATE} and
 @code{ON DETETE} subclauses of the @code{FOREIGN KEY} clause. When
 the user attempts to delete or update a row from a parent table, and there
@@ -68416,47 +68422,47 @@
 @itemize @bullet
 
 @item @code{CASCADE}: Delete or update the row from the parent table and
-automatically delete or update the matching rows in the child table. 
+automatically delete or update the matching rows in the child table.
 @code{ON DELETE CASCADE} is available starting from MySQL 3.23.50
 and @code{ON UPDATE CASCADE} is available starting from 4.0.8.
 
 @item @code{SET NULL}: Delete or update the row from the parent table and
 set the foreign key column(s) in the child table to @code{NULL}.
 This is only valid if the foreign key columns do not have the
-@code{NOT NULL} qualifier specified. @code{ON DELETE SET NULL} 
-is available starting from MySQL 3.23.50 and @code{ON UPDATE SET NULL} 
+@code{NOT NULL} qualifier specified. @code{ON DELETE SET NULL}
+is available starting from MySQL 3.23.50 and @code{ON UPDATE SET NULL}
 is available starting from 4.0.8.
 
-@item @code{SET DEFAULT}: @code{InnoDB} rejects table definitions 
+@item @code{SET DEFAULT}: @code{InnoDB} rejects table definitions
 containing @code{ON DELETE SET DEFAULT} or @code{ON UPDATE SET DEFAULT}
 clauses.
 
-@item @code{NO ACTION}: In @code{ANSI SQL-92} standard, 
-@code{NO ACTION} means @emph{no action} in the sense that an attempt 
-to delete or update a primary key value will not be allowed to 
-proceed if there is a related foreign key value in the referenced 
+@item @code{NO ACTION}: In @code{ANSI SQL-92} standard,
+@code{NO ACTION} means @emph{no action} in the sense that an attempt
+to delete or update a primary key value will not be allowed to
+proceed if there is a related foreign key value in the referenced
 table (Gruber, Mastering SQL, 2000:181). Starting from 4.0.18
 @code{InnoDB} rejects the delete or update operation for the parent
 table.
 
 @item @code{RESTRICT}: Rejects the delete or update operation for the
-parent table. @code{NO ACTION} and @code{RESTRICT} are the same as 
-omitting the @code{ON DELETE} or @code{ON UPDATE} clause. 
-(Some database systems have deferred checks, and @code{NO ACTION} is a 
-deferred check. In MySQL, foreign key constraints are checked 
+parent table. @code{NO ACTION} and @code{RESTRICT} are the same as
+omitting the @code{ON DELETE} or @code{ON UPDATE} clause.
+(Some database systems have deferred checks, and @code{NO ACTION} is a
+deferred check. In MySQL, foreign key constraints are checked
 immediately, so @code{NO ACTION} and @code{RESTRICT} are the same.)
 
 @end itemize
 
 @code{InnoDB} supports the same options when the candidate key in
-the parent table is updated. With @code{CASCADE}, the foreign key 
+the parent table is updated. With @code{CASCADE}, the foreign key
 column(s) in the child table are set to new value(s) of the
 candidate key in the parent table. In the same way, the updates
 cascade if updated column(s) in the child table reference
 foreign keys in another table.
 
 Note that @code{InnoDB} supports foreign key references within a table
-and in these cases child table really means dependent records 
+and in these cases child table really means dependent records
 within the table.
 
 @code{InnoDB} needs indexes on foreign keys and referenced keys so that
@@ -69985,6 +69991,8 @@
 @node InnoDB tuning, InnoDB Multi-Versioning, InnoDB transaction model, InnoDB
 @section @code{InnoDB} Performance Tuning Tips
 
+@cindex Solaris x86_64 issues
+
 @itemize @bullet
 @item
 If the Unix @file{top} tool or the Windows Task Manager shows
@@ -70036,6 +70044,16 @@
 try setting @code{innodb_flush_method} in @file{my.cnf} to
 @code{O_DSYNC}, although @code{O_DSYNC} seems to be slower on most
 systems.
+
+@item
+(Verfied using MySQL 4.1, assumed for other MySQL versions, given that this is a
+platform architecture issue.)
+When using the InnoDB storage engine on Solaris 10 for 64-bit Intel architecture
+(x86_64), it is important to to mount any filesystems used for storing
+InnoDB-related files using the @code{forcedirectio} option. (The default on
+Solaris 10/x86_64 is @strong{not} to use this filesystem mounting option.)
+Failing to use @code{forcedirectio} will cause a serious degradation of InnoDB's
+speed and performance on this platform.
 
 @item
 When importing data into @code{InnoDB}, make sure that MySQL does not have
Thread
bk commit - mysqldoc@docsrva tree (jon:1.2659)jon13 May