Author: paul
Date: 2007-03-12 16:05:23 +0100 (Mon, 12 Mar 2007)
New Revision: 5305
Log:
r17536@frost: paul | 2007-03-12 09:46:48 -0500
General revisions.
Modified:
trunk/refman-4.1/database-administration.xml
trunk/refman-4.1/optimization.xml
trunk/refman-4.1/storage-engines.xml
trunk/refman-5.0/database-administration.xml
trunk/refman-5.0/optimization.xml
trunk/refman-5.0/se-myisam.xml
trunk/refman-5.1/database-administration.xml
trunk/refman-5.1/optimization.xml
trunk/refman-5.1/se-myisam.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:21154
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:17529
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:14593
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:21154
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:17536
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:14593
Modified: trunk/refman-4.1/database-administration.xml
===================================================================
--- trunk/refman-4.1/database-administration.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-4.1/database-administration.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 3, Lines Added: 10, Lines Deleted: 3; 1654 bytes
@@ -23782,7 +23782,14 @@
</para>
<para>
- Before MySQL 4.1.9, a write to a binary log file or binary log
+ Replication slave servers by default do not write to their own
+ binary log any statements that are received from the replication
+ master. To cause these statements to be logged, start the slave
+ with the <option>--log-slave-updates</option> option.
+ </para>
+
+ <para>
+ Before MySQL 4.1.9, writes to a binary log file or binary log
index file that failed due to a full disk or an exceeded quota
resulted in corruption of the file. Starting from MySQL 4.1.9,
writes to the binary log file and binary log index file are
@@ -23795,7 +23802,7 @@
MASTER</literal> statement, or a subset of them with
<literal>PURGE MASTER LOGS</literal>. See
<xref linkend="reset"/>, and
- <xref linkend="replication-master-sql"/>.
+ <xref linkend="purge-master-logs"/>.
</para>
<para>
@@ -24074,7 +24081,7 @@
but it is preferable to use <literal>PURGE MASTER
LOGS</literal>, which also safely updates the binary log index
file for you (and which can take a date argument as of MySQL
- 4.1). See <xref linkend="replication-master-sql"/>.
+ 4.1). See <xref linkend="purge-master-logs"/>.
</para>
<para>
Modified: trunk/refman-4.1/optimization.xml
===================================================================
--- trunk/refman-4.1/optimization.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-4.1/optimization.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 11, Lines Added: 45, Lines Deleted: 43; 7374 bytes
@@ -3656,20 +3656,19 @@
</listitem>
</itemizedlist>
-
+
<formalpara role="mnmas">
-
+
<title>MySQL Enterprise</title>
-
+
<para>
- For expert advice on avoiding excessive table scans
- subscribe to the MySQL Network Monitoring and Advisory
- Service. For more information see
+ For expert advice on avoiding excessive table scans subscribe
+ to the MySQL Network Monitoring and Advisory Service. For more
+ information see
<ulink url="&base-url-enterprise;advisors.html"/>.
</para>
-
+
</formalpara>
-
<para>
For small tables, a table scan often is appropriate and the
@@ -3818,10 +3817,9 @@
<listitem>
<para>
- If you are inserting a lot of rows from different clients,
- you can get higher speed by using the <literal>INSERT
- DELAYED</literal> statement. See
- <xref linkend="insert-delayed"/>.
+ If multiple clients are inserting a lot of rows, you can get
+ higher speed by using the <literal>INSERT DELAYED</literal>
+ statement. See <xref linkend="insert-delayed"/>.
</para>
</listitem>
@@ -3829,8 +3827,8 @@
<para>
For a <literal>MyISAM</literal> table, you can use
concurrent inserts to add rows at the same time that
- <literal>SELECT</literal> statements are running if there
- are no deleted rows in middle of the table. See
+ <literal>SELECT</literal> statements are running, if there
+ are no deleted rows in middle of the data file. See
<xref linkend="concurrent-inserts"/>.
</para>
</listitem>
@@ -3914,10 +3912,11 @@
</orderedlist>
<para>
- Note that <literal>LOAD DATA INFILE</literal> performs the
- preceding optimization automatically if the
- <literal>MyISAM</literal> table into which you insert data
- is empty. The main difference is that you can let
+ <literal>LOAD DATA INFILE</literal> performs the preceding
+ optimization automatically if the <literal>MyISAM</literal>
+ table into which you insert data is empty. The main
+ difference between automatic optimization and using the
+ procedure explicitly is that you can let
<command>myisamchk</command> allocate much more temporary
memory for the index creation than you might want the server
to allocate for index re-creation when it executes the
@@ -3964,7 +3963,7 @@
</para>
<para>
- To obtain faster insertions, for transactional tables, you
+ To obtain faster insertions for transactional tables, you
should use <literal>START TRANSACTION</literal> and
<literal>COMMIT</literal> instead of <literal>LOCK
TABLES</literal>.
@@ -3973,11 +3972,12 @@
<para>
Locking also lowers the total time for multiple-connection
tests, although the maximum wait time for individual
- connections might go up because they wait for locks. For
- example:
+ connections might go up because they wait for locks. Suppose
+ that five clients attempt to perform inserts simultaneously
+ as follows:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -3997,7 +3997,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
If you do not use locking, connections 2, 3, and 4 finish
@@ -4163,29 +4163,29 @@
<listitem>
<para>
- With <literal>MyISAM</literal> tables that have no deleted
- rows in the middle, you can insert rows at the end at the
- same time that another query is reading from the table. If
- it is important to be able to do this, you should consider
- using the table in ways that avoid deleting rows. Another
+ <literal>MyISAM</literal> supports concurrent inserts: If a
+ table has no free blocks in the middle of the data file, you
+ can <literal>INSERT</literal> new rows into it at the same
+ time that other threads are reading from the table. If it is
+ important to be able to do this, you should consider using
+ the table in ways that avoid deleting rows. Another
possibility is to run <literal>OPTIMIZE TABLE</literal> to
defragment the table after you have deleted a lot of rows
- from it. See <xref linkend="myisam-storage-engine"/>.
+ from it. See <xref linkend="concurrent-inserts"/>.
</para>
-
+
<formalpara role="mnmas">
-
+
<title>MySQL Enterprise</title>
-
+
<para>
- For optimization tips geared to your specific circumstances
- subscribe to the MySQL Network Monitoring and Advisory Service.
- For more information see
+ For optimization tips geared to your specific
+ circumstances subscribe to the MySQL Network Monitoring
+ and Advisory Service. For more information see
<ulink url="&base-url-enterprise;advisors.html" />.
</para>
-
+
</formalpara>
-
</listitem>
<listitem>
@@ -4214,9 +4214,10 @@
<para>
In some cases, it may make sense to introduce a column that
is <quote>hashed</quote> based on information from other
- columns. If this column is short and reasonably unique, it
- may be much faster than a <quote>wide</quote> index on many
- columns. In MySQL, it is very easy to use this extra column:
+ columns. If this column is short, reasonably unique, and
+ indexed, it may be much faster than a <quote>wide</quote>
+ index on many columns. In MySQL, it is very easy to use this
+ extra column:
</para>
<programlisting>
@@ -4338,8 +4339,8 @@
<listitem>
<para>
- You can always gain something by caching queries or answers
- in your application and then performing many inserts or
+ You can increase performance by caching queries or answers
+ in your application and then executing many inserts or
updates together. If your database system supports table
locks (as do MySQL and Oracle), this should help to ensure
that the index cache is only flushed once after all updates.
@@ -4392,7 +4393,8 @@
<listitem>
<para>
- Use <literal>AUTO_INCREMENT</literal> columns to generate
+ Use <literal>AUTO_INCREMENT</literal> columns so that each
+ row in a table can be identified by a single unique value.
unique values.
</para>
</listitem>
Modified: trunk/refman-4.1/storage-engines.xml
===================================================================
--- trunk/refman-4.1/storage-engines.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-4.1/storage-engines.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 1, Lines Added: 9, Lines Deleted: 8; 1490 bytes
@@ -571,14 +571,15 @@
<listitem>
<para>
- If a table has no free blocks in the middle of the data file,
- you can <literal>INSERT</literal> new rows into it at the same
- time that other threads are reading from the table. (These are
- known as concurrent inserts.) A free block can occur as a
- result of deleting rows or an update of a dynamic length row
- with more data than its current contents. When all free blocks
- are used up (filled in), future inserts become concurrent
- again. See <xref linkend="concurrent-inserts"/>.
+ <literal>MyISAM</literal> supports concurrent inserts: If a
+ table has no free blocks in the middle of the data file, you
+ can <literal>INSERT</literal> new rows into it at the same
+ time that other threads are reading from the table. A free
+ block can occur as a result of deleting rows or an update of a
+ dynamic length row with more data than its current contents.
+ When all free blocks are used up (filled in), future inserts
+ become concurrent again. See
+ <xref linkend="concurrent-inserts"/>.
</para>
</listitem>
Modified: trunk/refman-5.0/database-administration.xml
===================================================================
--- trunk/refman-5.0/database-administration.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-5.0/database-administration.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 3, Lines Added: 9, Lines Deleted: 2; 1465 bytes
@@ -27506,6 +27506,13 @@
</para>
<para>
+ Replication slave servers by default do not write to their own
+ binary log any statements that are received from the replication
+ master. To cause these statements to be logged, start the slave
+ with the <option>--log-slave-updates</option> option.
+ </para>
+
+ <para>
Writes to the binary log file and binary log index file are
handled in the same way as writes to <literal>MyISAM</literal>
tables. See <xref linkend="full-disk"/>.
@@ -27516,7 +27523,7 @@
MASTER</literal> statement, or a subset of them with
<literal>PURGE MASTER LOGS</literal>. See
<xref linkend="reset"/>, and
- <xref linkend="replication-master-sql"/>.
+ <xref linkend="purge-master-logs"/>.
</para>
<para>
@@ -27791,7 +27798,7 @@
but it is preferable to use <literal>PURGE MASTER
LOGS</literal>, which also safely updates the binary log index
file for you (and which can take a date argument). See
- <xref linkend="replication-master-sql"/>.
+ <xref linkend="purge-master-logs"/>.
</para>
<para>
Modified: trunk/refman-5.0/optimization.xml
===================================================================
--- trunk/refman-5.0/optimization.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-5.0/optimization.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 11, Lines Added: 37, Lines Deleted: 36; 6913 bytes
@@ -1636,9 +1636,9 @@
<para>
However, a condition pushdown may also be employed when
- an indexed column is compared with a constant
- using a <literal>></literal> or
- <literal><</literal> operator:
+ an indexed column is compared with a constant using a
+ <literal>></literal> or <literal><</literal>
+ operator:
</para>
<programlisting>
@@ -5852,10 +5852,9 @@
<listitem>
<para>
- If you are inserting a lot of rows from different clients,
- you can get higher speed by using the <literal>INSERT
- DELAYED</literal> statement. See
- <xref linkend="insert-delayed"/>.
+ If multiple clients are inserting a lot of rows, you can get
+ higher speed by using the <literal>INSERT DELAYED</literal>
+ statement. See <xref linkend="insert-delayed"/>.
</para>
</listitem>
@@ -5863,8 +5862,8 @@
<para>
For a <literal>MyISAM</literal> table, you can use
concurrent inserts to add rows at the same time that
- <literal>SELECT</literal> statements are running if there
- are no deleted rows in middle of the table. See
+ <literal>SELECT</literal> statements are running, if there
+ are no deleted rows in middle of the data file. See
<xref linkend="concurrent-inserts"/>.
</para>
</listitem>
@@ -5948,10 +5947,11 @@
</orderedlist>
<para>
- Note that <literal>LOAD DATA INFILE</literal> performs the
- preceding optimization automatically if the
- <literal>MyISAM</literal> table into which you insert data
- is empty. The main difference is that you can let
+ <literal>LOAD DATA INFILE</literal> performs the preceding
+ optimization automatically if the <literal>MyISAM</literal>
+ table into which you insert data is empty. The main
+ difference between automatic optimization and using the
+ procedure explicitly is that you can let
<command>myisamchk</command> allocate much more temporary
memory for the index creation than you might want the server
to allocate for index re-creation when it executes the
@@ -5998,7 +5998,7 @@
</para>
<para>
- To obtain faster insertions, for transactional tables, you
+ To obtain faster insertions for transactional tables, you
should use <literal>START TRANSACTION</literal> and
<literal>COMMIT</literal> instead of <literal>LOCK
TABLES</literal>.
@@ -6007,11 +6007,12 @@
<para>
Locking also lowers the total time for multiple-connection
tests, although the maximum wait time for individual
- connections might go up because they wait for locks. For
- example:
+ connections might go up because they wait for locks. Suppose
+ that five clients attempt to perform inserts simultaneously
+ as follows:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -6031,7 +6032,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
If you do not use locking, connections 2, 3, and 4 finish
@@ -6197,18 +6198,16 @@
<listitem>
<para>
- With <literal>MyISAM</literal> tables that have no deleted
- rows in the middle, you can insert rows at the end at the
- same time that another query is reading from the table. If
- it is important to be able to do this, you should consider
- using the table in ways that avoid deleting rows. Another
- possibility is to run <literal>OPTIMIZE TABLE</literal> to
- defragment the table after you have deleted a lot of rows
- from it. See <xref linkend="myisam-storage-engine"/>.
- </para>
-
- <para>
- This behavior is altered through the setting of the
+ <literal>MyISAM</literal> supports concurrent inserts: If a
+ table has no free blocks in the middle of the data file, you
+ can <literal>INSERT</literal> new rows into it at the same
+ time that other threads are reading from the table.
+ <xref linkend="concurrent-inserts"/>. If it is important to
+ be able to do this, you should consider using the table in
+ ways that avoid deleting rows. Another possibility is to run
+ <literal>OPTIMIZE TABLE</literal> to defragment the table
+ after you have deleted a lot of rows from it. This behavior
+ is altered by setting the
<literal>concurrent_inserts</literal> variable. You can
force new rows to be appended (and therefore allow
concurrent inserts), even in tables that have deleted rows.
@@ -6255,9 +6254,10 @@
<para>
In some cases, it may make sense to introduce a column that
is <quote>hashed</quote> based on information from other
- columns. If this column is short and reasonably unique, it
- may be much faster than a <quote>wide</quote> index on many
- columns. In MySQL, it is very easy to use this extra column:
+ columns. If this column is short, reasonably unique, and
+ indexed, it may be much faster than a <quote>wide</quote>
+ index on many columns. In MySQL, it is very easy to use this
+ extra column:
</para>
<programlisting>
@@ -6379,8 +6379,8 @@
<listitem>
<para>
- You can always gain something by caching queries or answers
- in your application and then performing many inserts or
+ You can increase performance by caching queries or answers
+ in your application and then executing many inserts or
updates together. If your database system supports table
locks (as do MySQL and Oracle), this should help to ensure
that the index cache is only flushed once after all updates.
@@ -6433,7 +6433,8 @@
<listitem>
<para>
- Use <literal>AUTO_INCREMENT</literal> columns to generate
+ Use <literal>AUTO_INCREMENT</literal> columns so that each
+ row in a table can be identified by a single unique value.
unique values.
</para>
</listitem>
Modified: trunk/refman-5.0/se-myisam.xml
===================================================================
--- trunk/refman-5.0/se-myisam.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-5.0/se-myisam.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 3, Lines Added: 12, Lines Deleted: 13; 2679 bytes
@@ -116,13 +116,12 @@
<listitem>
<para>
There is a limit of 2<superscript>32</superscript> (~4.295E+09)
- rows in a <literal>MyISAM</literal> table. You can increase this
- limitation if you build MySQL with the
- <option>--with-big-tables</option> option then the row
+ rows in a <literal>MyISAM</literal> table. If you build MySQL
+ with the <option>--with-big-tables</option> option, the row
limitation is increased to
(2<superscript>32</superscript>)<superscript>2</superscript>
(1.844E+19) rows. See <xref linkend="configure-options"/>.
- Beginning with MySQL 5.0.4 all standard binaries are built with
+ Beginning with MySQL 5.0.4, all standard binaries are built with
this option.
</para>
</listitem>
@@ -136,7 +135,7 @@
<option>--with-max-indexes=<replaceable>N</replaceable></option>
option, where <replaceable>N</replaceable> is the maximum number
of indexes to permit per <literal>MyISAM</literal> table.
- <replaceable>N</replaceable> must be less thann or equal to 128.
+ <replaceable>N</replaceable> must be less than or equal to 128.
Before MySQL 5.0.18, you must change the source.
</para>
@@ -190,14 +189,14 @@
<listitem>
<para>
- If a table has no free blocks in the middle of the data file,
- you can <literal>INSERT</literal> new rows into it at the same
- time that other threads are reading from the table. (These are
- known as concurrent inserts.) A free block can occur as a result
- of deleting rows or an update of a dynamic length row with more
- data than its current contents. When all free blocks are used up
- (filled in), future inserts become concurrent again. See
- <xref linkend="concurrent-inserts"/>.
+ <literal>MyISAM</literal> supports concurrent inserts: If a
+ table has no free blocks in the middle of the data file, you can
+ <literal>INSERT</literal> new rows into it at the same time that
+ other threads are reading from the table. A free block can occur
+ as a result of deleting rows or an update of a dynamic length
+ row with more data than its current contents. When all free
+ blocks are used up (filled in), future inserts become concurrent
+ again. See <xref linkend="concurrent-inserts"/>.
</para>
</listitem>
Modified: trunk/refman-5.1/database-administration.xml
===================================================================
--- trunk/refman-5.1/database-administration.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-5.1/database-administration.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 3, Lines Added: 9, Lines Deleted: 2; 1465 bytes
@@ -28240,6 +28240,13 @@
</para>
<para>
+ Replication slave servers by default do not write to their own
+ binary log any statements that are received from the replication
+ master. To cause these statements to be logged, start the slave
+ with the <option>--log-slave-updates</option> option.
+ </para>
+
+ <para>
Writes to the binary log file and binary log index file are
handled in the same way as writes to <literal>MyISAM</literal>
tables. See <xref linkend="full-disk"/>.
@@ -28250,7 +28257,7 @@
MASTER</literal> statement, or a subset of them with
<literal>PURGE MASTER LOGS</literal>. See
<xref linkend="reset"/>, and
- <xref linkend="replication-master-sql"/>.
+ <xref linkend="purge-master-logs"/>.
</para>
<para>
@@ -28525,7 +28532,7 @@
but it is preferable to use <literal>PURGE MASTER
LOGS</literal>, which also safely updates the binary log index
file for you (and which can take a date argument). See
- <xref linkend="replication-master-sql"/>.
+ <xref linkend="purge-master-logs"/>.
</para>
<para>
Modified: trunk/refman-5.1/optimization.xml
===================================================================
--- trunk/refman-5.1/optimization.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-5.1/optimization.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 11, Lines Added: 37, Lines Deleted: 36; 6913 bytes
@@ -1693,9 +1693,9 @@
<para>
However, a condition pushdown may also be employed when
- an indexed column is compared with a constant
- using a <literal>></literal> or
- <literal><</literal> operator:
+ an indexed column is compared with a constant using a
+ <literal>></literal> or <literal><</literal>
+ operator:
</para>
<programlisting>
@@ -5882,10 +5882,9 @@
<listitem>
<para>
- If you are inserting a lot of rows from different clients,
- you can get higher speed by using the <literal>INSERT
- DELAYED</literal> statement. See
- <xref linkend="insert-delayed"/>.
+ If multiple clients are inserting a lot of rows, you can get
+ higher speed by using the <literal>INSERT DELAYED</literal>
+ statement. See <xref linkend="insert-delayed"/>.
</para>
</listitem>
@@ -5893,8 +5892,8 @@
<para>
For a <literal>MyISAM</literal> table, you can use
concurrent inserts to add rows at the same time that
- <literal>SELECT</literal> statements are running if there
- are no deleted rows in middle of the table. See
+ <literal>SELECT</literal> statements are running, if there
+ are no deleted rows in middle of the data file. See
<xref linkend="concurrent-inserts"/>.
</para>
</listitem>
@@ -5978,10 +5977,11 @@
</orderedlist>
<para>
- Note that <literal>LOAD DATA INFILE</literal> performs the
- preceding optimization automatically if the
- <literal>MyISAM</literal> table into which you insert data
- is empty. The main difference is that you can let
+ <literal>LOAD DATA INFILE</literal> performs the preceding
+ optimization automatically if the <literal>MyISAM</literal>
+ table into which you insert data is empty. The main
+ difference between automatic optimization and using the
+ procedure explicitly is that you can let
<command>myisamchk</command> allocate much more temporary
memory for the index creation than you might want the server
to allocate for index re-creation when it executes the
@@ -6028,7 +6028,7 @@
</para>
<para>
- To obtain faster insertions, for transactional tables, you
+ To obtain faster insertions for transactional tables, you
should use <literal>START TRANSACTION</literal> and
<literal>COMMIT</literal> instead of <literal>LOCK
TABLES</literal>.
@@ -6037,11 +6037,12 @@
<para>
Locking also lowers the total time for multiple-connection
tests, although the maximum wait time for individual
- connections might go up because they wait for locks. For
- example:
+ connections might go up because they wait for locks. Suppose
+ that five clients attempt to perform inserts simultaneously
+ as follows:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -6061,7 +6062,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
If you do not use locking, connections 2, 3, and 4 finish
@@ -6227,18 +6228,16 @@
<listitem>
<para>
- With <literal>MyISAM</literal> tables that have no deleted
- rows in the middle, you can insert rows at the end at the
- same time that another query is reading from the table. If
- it is important to be able to do this, you should consider
- using the table in ways that avoid deleting rows. Another
- possibility is to run <literal>OPTIMIZE TABLE</literal> to
- defragment the table after you have deleted a lot of rows
- from it. See <xref linkend="myisam-storage-engine"/>.
- </para>
-
- <para>
- This behavior is altered through the setting of the
+ <literal>MyISAM</literal> supports concurrent inserts: If a
+ table has no free blocks in the middle of the data file, you
+ can <literal>INSERT</literal> new rows into it at the same
+ time that other threads are reading from the table.
+ <xref linkend="concurrent-inserts"/>. If it is important to
+ be able to do this, you should consider using the table in
+ ways that avoid deleting rows. Another possibility is to run
+ <literal>OPTIMIZE TABLE</literal> to defragment the table
+ after you have deleted a lot of rows from it. This behavior
+ is altered by setting the
<literal>concurrent_inserts</literal> variable. You can
force new rows to be appended (and therefore allow
concurrent inserts), even in tables that have deleted rows.
@@ -6286,9 +6285,10 @@
<para>
In some cases, it may make sense to introduce a column that
is <quote>hashed</quote> based on information from other
- columns. If this column is short and reasonably unique, it
- may be much faster than a <quote>wide</quote> index on many
- columns. In MySQL, it is very easy to use this extra column:
+ columns. If this column is short, reasonably unique, and
+ indexed, it may be much faster than a <quote>wide</quote>
+ index on many columns. In MySQL, it is very easy to use this
+ extra column:
</para>
<programlisting>
@@ -6410,8 +6410,8 @@
<listitem>
<para>
- You can always gain something by caching queries or answers
- in your application and then performing many inserts or
+ You can increase performance by caching queries or answers
+ in your application and then executing many inserts or
updates together. If your database system supports table
locks (as do MySQL and Oracle), this should help to ensure
that the index cache is only flushed once after all updates.
@@ -6464,7 +6464,8 @@
<listitem>
<para>
- Use <literal>AUTO_INCREMENT</literal> columns to generate
+ Use <literal>AUTO_INCREMENT</literal> columns so that each
+ row in a table can be identified by a single unique value.
unique values.
</para>
</listitem>
Modified: trunk/refman-5.1/se-myisam.xml
===================================================================
--- trunk/refman-5.1/se-myisam.xml 2007-03-12 14:57:16 UTC (rev 5304)
+++ trunk/refman-5.1/se-myisam.xml 2007-03-12 15:05:23 UTC (rev 5305)
Changed blocks: 9, Lines Added: 19, Lines Deleted: 17; 3804 bytes
@@ -109,14 +109,12 @@
<listitem>
<para>
There is a limit of 2<superscript>32</superscript> (~4.295E+09)
- rows in a <literal>MyISAM</literal> table. You can increase this
- limitation if you build MySQL with the
- <option>--with-big-tables</option> option then the row
+ rows in a <literal>MyISAM</literal> table. If you build MySQL
+ with the <option>--with-big-tables</option> option, the row
limitation is increased to
(2<superscript>32</superscript>)<superscript>2</superscript>
- (1.844E+19) rows. See <xref linkend="configure-options"/>.
- Beginning with MySQL 5.0.4 all standard binaries are built with
- this option.
+ (1.844E+19) rows. See <xref linkend="configure-options"/>. All
+ standard binaries are built with this option.
</para>
</listitem>
@@ -129,7 +127,7 @@
<option>--with-max-indexes=<replaceable>N</replaceable></option>
option, where <replaceable>N</replaceable> is the maximum number
of indexes to permit per <literal>MyISAM</literal> table.
- <replaceable>N</replaceable> must be less thann or equal to 128.
+ <replaceable>N</replaceable> must be less than or equal to 128.
Before MySQL 5.1.4, you must change the source.
</para>
@@ -183,14 +181,14 @@
<listitem>
<para>
- If a table has no free blocks in the middle of the data file,
- you can <literal>INSERT</literal> new rows into it at the same
- time that other threads are reading from the table. (These are
- known as concurrent inserts.) A free block can occur as a result
- of deleting rows or an update of a dynamic length row with more
- data than its current contents. When all free blocks are used up
- (filled in), future inserts become concurrent again. See
- <xref linkend="concurrent-inserts"/>.
+ <literal>MyISAM</literal> supports concurrent inserts: If a
+ table has no free blocks in the middle of the data file, you can
+ <literal>INSERT</literal> new rows into it at the same time that
+ other threads are reading from the table. A free block can occur
+ as a result of deleting rows or an update of a dynamic length
+ row with more data than its current contents. When all free
+ blocks are used up (filled in), future inserts become concurrent
+ again. See <xref linkend="concurrent-inserts"/>.
</para>
</listitem>
@@ -472,6 +470,7 @@
</itemizedlist>
<formalpara role="mnmas">
+
<title>MySQL Enterprise</title>
<para>
@@ -480,6 +479,7 @@
option has not been set. For more information see
<ulink url="&base-url-enterprise;advisors.html"/>.
</para>
+
</formalpara>
<para>
@@ -922,10 +922,9 @@
</itemizedlist>
<formalpara>
+
<title>Note</title>
-
-
<para>
While a compressed table is read-only, and you cannot
therefore update or add rows in the table, DDL (Data
@@ -933,6 +932,7 @@
you may still use <literal>DROP</literal> to drop the table,
and <literal>TRUNCATE</literal> to empty the table.
</para>
+
</formalpara>
</section>
@@ -1052,6 +1052,7 @@
</para>
<formalpara role="mnmas">
+
<title>MySQL Enterprise</title>
<para>
@@ -1060,6 +1061,7 @@
about the state of your servers. For more information see
<ulink url="&base-url-enterprise;advisors.html"/>.
</para>
+
</formalpara>
</section>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r5305 - in trunk: . refman-4.1 refman-5.0 refman-5.1 | paul | 12 Mar |