summaryrefslogtreecommitdiff
path: root/Docs
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2000-10-16 02:29:48 +0300
committerunknown <monty@donna.mysql.com>2000-10-16 02:29:48 +0300
commit9c019f4e4fc4d34f3c82723d1182f0917b9c5360 (patch)
tree5027f963ce243feb9758c98bc0d3be35c3b4c614 /Docs
parentd78f9840978cf60b73f13f6a5201ed5593636573 (diff)
downloadmariadb-git-9c019f4e4fc4d34f3c82723d1182f0917b9c5360.tar.gz
Automatic primary key for BDB tables
sql/field.h: Cleanup sql/filesort.cc: Cleanup sql/opt_range.cc: Remove index in use sql/sql_base.cc: Allow Berkeley DB tables used only the index when the query only uses the index + data from the primary key sql/sql_select.cc: Fix for left join optimization BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
Diffstat (limited to 'Docs')
-rw-r--r--Docs/manual.texi34
1 files changed, 25 insertions, 9 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi
index e28a6820873..33f185de9dd 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -1793,16 +1793,20 @@ Big changes made in @strong{MySQL} Version 3.22.12.
@item @strong{MyODBC} (uses ODBC SDK 2.5) --- Gamma
It seems to work well with some programs.
-@item Replication -- Alpha
+@item Replication -- Alpha / Beta
We are still working on replication, so don't expect this to be rock
solid yet. On the other hand, some @strong{MySQL} users are already
using this with good results.
-@item BDB Tables -- Alpha
+@item BDB Tables -- Alpha / Beta
The Berkeley DB code is very stable, but we are still improving the interface
between @strong{MySQL} and BDB tables, so it will take some time before this
is as tested as the other table types.
+@item Automatic recovery of MyISAM tables - Alpha.
+This only affects the new code that checks if the table was closed properly
+on open and executes an automatic check/repair of the table if it wasn't.
+
@end table
MySQL AB provides e-mail support for paying customers, but the @strong{MySQL}
@@ -7979,12 +7983,10 @@ you should also compile your code to be multi-threaded!
@node Windows and BDB tables., Windows vs Unix, Windows compiling, Windows
@subsection Windows and BDB Tables
-We are working on removing the requirement that one must have a primary
-key in a BDB table. As soon as this is fixed we will throughly test the
-BDB interface by running the @strong{MySQL} benchmark and our internal
-test suite on it. When the above is done we will start to release binary
-distributions (for Windows and UNIX) of @strong{MySQL} that will include
-support for BDB tables.
+We will shortly do a full test on the new BDB interface on Windows.
+When this is done we will start to release binary distributions (for
+Windows and UNIX) of @strong{MySQL} that will include support for BDB
+tables.
@cindex Windows, versus UNIX
@cindex operating systems, Windows versus UNIX
@@ -21876,13 +21878,22 @@ Some characteristic of @code{BDB} tables:
@itemize @bullet
@item
-All @code{BDB} tables must have a primary key.
+@strong{MySQL} requires a @code{PRIMARY KEY} in each BDB table to be
+able to refer to previously read rows; If you don't create on,
+@strong{MySQL} will create an maintain a hidden @code{PRIMARY KEY} for
+you. The hidden key has a length of 5 bytes and is incremented for each
+insert attempt.
@item
If all columns you access in a @code{BDB} tables is part of the same index or
part of the the primary key then @strong{MySQL} can execute the query
without having to access the actual row. In a @code{MyISAM} table the
above holds only if the columns are part of the same index.
@item
+The @code{PRIMARY KEY} will be faster than any other key, as the
+@code{PRIMARY KEY} is stored together with the row data. As the other keys are
+stored as the key data + the @code{PRIMARY KEY}, its important to keep the
+@code{PRIMARY KEY} as short as possible to save disk and get better speed.
+@item
@code{LOCK TABLES} works on @code{BDB} tables as with other tables. If
you don't use @code{LOCK TABLE}, @strong{MYSQL} will issue an internal
multiple write lock on the table to ensure that the table will be
@@ -37972,6 +37983,11 @@ though, so 3.23 is not released as a stable version yet.
@appendixsubsec Changes in release 3.23.26
@itemize @bullet
@item
+If one don't create a @code{PRIMARY KEY} in a BDB table, a hidden
+@code{PRIMARY KEY} will be created.
+@item
+Added read-only-key optimization to BDB tables.
+@item
@code{LEFT JOIN} did in some case prefer a full table scan when one
didn't have a @code{WHERE} clause.
@item