Author: paul
Date: 2010-07-23 01:25:01 +0200 (Fri, 23 Jul 2010)
New Revision: 21868
Log:
r61521@frost: paul | 2010-07-22 18:19:38 -0500
join_buffer_size clarification (James)
Modified:
trunk/refman-4.1/dba-mysqld-server-core.xml
trunk/refman-5.0/dba-mysqld-server-core.xml
trunk/refman-5.1/dba-mysqld-server-core.xml
trunk/refman-5.5/dba-mysqld-server-core.xml
trunk/refman-6.0/dba-mysqld-server-core.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/mysqldoc/trunk:35498
07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/trunk:40851
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:43968
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/trunk:44480
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:61511
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:39036
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/trunk:39546
+ 07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/mysqldoc/trunk:35498
07c7e7b4-24e3-4b51-89d0-6dc09fec6bec:/mysqldoc-local/trunk:40851
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:43968
4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/trunk:44480
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:61521
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:39036
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/trunk:39546
Modified: trunk/refman-4.1/dba-mysqld-server-core.xml
===================================================================
--- trunk/refman-4.1/dba-mysqld-server-core.xml 2010-07-22 20:32:41 UTC (rev 21867)
+++ trunk/refman-4.1/dba-mysqld-server-core.xml 2010-07-22 23:25:01 UTC (rev 21868)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 5; 1872 bytes
@@ -4917,15 +4917,23 @@
</para>
<para>
- The size of the buffer that is used for plain index scans,
- range index scans, and joins that do not use indexes and thus
- perform full table scans. Normally, the best way to get fast
- joins is to add indexes. Increase the value of
+ The minimum size of the buffer that is used for plain index
+ scans, range index scans, and joins that do not use indexes
+ and thus perform full table scans. Normally, the best way to
+ get fast joins is to add indexes. Increase the value of
<literal role="sysvar">join_buffer_size</literal> to get a
faster full join when adding indexes is not possible. One join
buffer is allocated for each full join between two tables. For
a complex join between several tables for which indexes are
- not used, multiple join buffers might be necessary.
+ not used, multiple join buffers might be necessary. There is
+ no gain from setting the buffer larger than required to hold
+ each matching row, and all joins allocate at least the minimum
+ size, so use caution in setting this variable to a large value
+ globally. It is better to keep the global setting small and
+ change to a larger setting only in sessions that are doing
+ large joins. Memory allocation time can cause substantial
+ performance drops if the global size is larger than needed by
+ most queries that use it.
</para>
</listitem>
Modified: trunk/refman-5.0/dba-mysqld-server-core.xml
===================================================================
--- trunk/refman-5.0/dba-mysqld-server-core.xml 2010-07-22 20:32:41 UTC (rev 21867)
+++ trunk/refman-5.0/dba-mysqld-server-core.xml 2010-07-22 23:25:01 UTC (rev 21868)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 5; 1936 bytes
@@ -5409,15 +5409,23 @@
<para condition="dynamic:optvar:item" role="5.0:mysqld:join_buffer_size"/>
<para>
- The size of the buffer that is used for plain index scans,
- range index scans, and joins that do not use indexes and thus
- perform full table scans. Normally, the best way to get fast
- joins is to add indexes. Increase the value of
+ The minimum size of the buffer that is used for plain index
+ scans, range index scans, and joins that do not use indexes
+ and thus perform full table scans. Normally, the best way to
+ get fast joins is to add indexes. Increase the value of
<literal role="sysvar">join_buffer_size</literal> to get a
faster full join when adding indexes is not possible. One join
buffer is allocated for each full join between two tables. For
a complex join between several tables for which indexes are
- not used, multiple join buffers might be necessary.
+ not used, multiple join buffers might be necessary. There is
+ no gain from setting the buffer larger than required to hold
+ each matching row, and all joins allocate at least the minimum
+ size, so use caution in setting this variable to a large value
+ globally. It is better to keep the global setting small and
+ change to a larger setting only in sessions that are doing
+ large joins. Memory allocation time can cause substantial
+ performance drops if the global size is larger than needed by
+ most queries that use it.
</para>
<para>
Modified: trunk/refman-5.1/dba-mysqld-server-core.xml
===================================================================
--- trunk/refman-5.1/dba-mysqld-server-core.xml 2010-07-22 20:32:41 UTC (rev 21867)
+++ trunk/refman-5.1/dba-mysqld-server-core.xml 2010-07-22 23:25:01 UTC (rev 21868)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 5; 1936 bytes
@@ -6095,15 +6095,23 @@
<para condition="dynamic:optvar:item" role="5.1:mysqld:join_buffer_size"/>
<para>
- The size of the buffer that is used for plain index scans,
- range index scans, and joins that do not use indexes and thus
- perform full table scans. Normally, the best way to get fast
- joins is to add indexes. Increase the value of
+ The minimum size of the buffer that is used for plain index
+ scans, range index scans, and joins that do not use indexes
+ and thus perform full table scans. Normally, the best way to
+ get fast joins is to add indexes. Increase the value of
<literal role="sysvar">join_buffer_size</literal> to get a
faster full join when adding indexes is not possible. One join
buffer is allocated for each full join between two tables. For
a complex join between several tables for which indexes are
- not used, multiple join buffers might be necessary.
+ not used, multiple join buffers might be necessary. There is
+ no gain from setting the buffer larger than required to hold
+ each matching row, and all joins allocate at least the minimum
+ size, so use caution in setting this variable to a large value
+ globally. It is better to keep the global setting small and
+ change to a larger setting only in sessions that are doing
+ large joins. Memory allocation time can cause substantial
+ performance drops if the global size is larger than needed by
+ most queries that use it.
</para>
<para>
Modified: trunk/refman-5.5/dba-mysqld-server-core.xml
===================================================================
--- trunk/refman-5.5/dba-mysqld-server-core.xml 2010-07-22 20:32:41 UTC (rev 21867)
+++ trunk/refman-5.5/dba-mysqld-server-core.xml 2010-07-22 23:25:01 UTC (rev 21868)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 5; 1936 bytes
@@ -5960,15 +5960,23 @@
<para condition="dynamic:optvar:item" role="5.5:mysqld:join_buffer_size"/>
<para>
- The size of the buffer that is used for plain index scans,
- range index scans, and joins that do not use indexes and thus
- perform full table scans. Normally, the best way to get fast
- joins is to add indexes. Increase the value of
+ The minimum size of the buffer that is used for plain index
+ scans, range index scans, and joins that do not use indexes
+ and thus perform full table scans. Normally, the best way to
+ get fast joins is to add indexes. Increase the value of
<literal role="sysvar">join_buffer_size</literal> to get a
faster full join when adding indexes is not possible. One join
buffer is allocated for each full join between two tables. For
a complex join between several tables for which indexes are
- not used, multiple join buffers might be necessary.
+ not used, multiple join buffers might be necessary. There is
+ no gain from setting the buffer larger than required to hold
+ each matching row, and all joins allocate at least the minimum
+ size, so use caution in setting this variable to a large value
+ globally. It is better to keep the global setting small and
+ change to a larger setting only in sessions that are doing
+ large joins. Memory allocation time can cause substantial
+ performance drops if the global size is larger than needed by
+ most queries that use it.
</para>
<para>
Modified: trunk/refman-6.0/dba-mysqld-server-core.xml
===================================================================
--- trunk/refman-6.0/dba-mysqld-server-core.xml 2010-07-22 20:32:41 UTC (rev 21867)
+++ trunk/refman-6.0/dba-mysqld-server-core.xml 2010-07-22 23:25:01 UTC (rev 21868)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 5; 1936 bytes
@@ -6231,15 +6231,23 @@
<para condition="dynamic:optvar:item" role="6.0:mysqld:join_buffer_size"/>
<para>
- The size of the buffer that is used for plain index scans,
- range index scans, and joins that do not use indexes and thus
- perform full table scans. Normally, the best way to get fast
- joins is to add indexes. Increase the value of
+ The minimum size of the buffer that is used for plain index
+ scans, range index scans, and joins that do not use indexes
+ and thus perform full table scans. Normally, the best way to
+ get fast joins is to add indexes. Increase the value of
<literal role="sysvar">join_buffer_size</literal> to get a
faster full join when adding indexes is not possible. One join
buffer is allocated for each full join between two tables. For
a complex join between several tables for which indexes are
- not used, multiple join buffers might be necessary.
+ not used, multiple join buffers might be necessary. There is
+ no gain from setting the buffer larger than required to hold
+ each matching row, and all joins allocate at least the minimum
+ size, so use caution in setting this variable to a large value
+ globally. It is better to keep the global setting small and
+ change to a larger setting only in sessions that are doing
+ large joins. Memory allocation time can cause substantial
+ performance drops if the global size is larger than needed by
+ most queries that use it.
</para>
<para>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r21868 - in trunk: . refman-4.1 refman-5.0 refman-5.1 refman-5.5 refman-6.0 | paul.dubois | 23 Jul |