Windows Platform Limitations
2993
When using
MyISAM
tables, you cannot use aliases within Windows link to the data files on another
volume and then link back to the main MySQL
datadir
[404]
location.
This facility is often used to move the data and index files to a RAID or other fast solution, while
retaining the main
.frm
files in the default data directory configured with the
datadir
[404]
option.
• Limited number of ports
Windows systems have about 4,000 ports available for client connections, and after a connection on
a port closes, it takes two to four minutes before the port can be reused. In situations where clients
connect to and disconnect from the server at a high rate, it is possible for all available ports to be
used up before closed ports become available again. If this happens, the MySQL server appears to
be unresponsive even though it is running. Note that ports may be used by other applications running
on the machine as well, in which case the number of ports available to MySQL is lower.
For more information about this problem, see
http://support.microsoft.com/default.aspx?scid=kb;en-
us;196271
.
• Concurrent reads
MySQL depends on the
pread()
and
pwrite()
system calls to be able to mix
INSERT
and
SELECT
. Currently, we use mutexes to emulate
pread()
and
pwrite()
. We intend
to replace the file level interface with a virtual interface in the future so that we can use the
readfile()
/
writefile()
interface to get more speed. The current implementation limits the
number of open files that MySQL 5.0 can use to 2,048, which means that you cannot run as many
concurrent threads on Windows as on Unix.
This problem is fixed in MySQL 5.5.
• Blocking read
MySQL uses a blocking read for each connection. That has the following implications if named-pipe
connections are enabled:
• A connection is not disconnected automatically after eight hours, as happens with the Unix version
of MySQL.
• If a connection hangs, it is not possible to break it without killing MySQL.
•
mysqladmin kill
does not work on a sleeping connection.
•
mysqladmin shutdown
cannot abort as long as there are sleeping connections.
These problems are fixed in MySQL 5.1. (Bug #31621)
•
ALTER TABLE
While you are executing an
ALTER TABLE
statement, the table is locked from being used by other
threads. This has to do with the fact that on Windows, you can't delete a file that is in use by another
thread. In the future, we may find some way to work around this problem.
•
DROP TABLE
DROP TABLE
on a table that is in use by a
MERGE
table does not work on Windows because the
MERGE
handler does the table mapping hidden from the upper layer of MySQL. Because Windows
does not permit dropping files that are open, you first must flush all
MERGE
tables (with
FLUSH
TABLES
) or drop the
MERGE
table before dropping the table.
•
DATA DIRECTORY
and
INDEX DIRECTORY
Summary of Contents for 5.0
Page 1: ...MySQL 5 0 Reference Manual ...
Page 18: ...xviii ...
Page 60: ...40 ...
Page 396: ...376 ...
Page 578: ...558 ...
Page 636: ...616 ...
Page 844: ...824 ...
Page 1234: ...1214 ...
Page 1427: ...MySQL Proxy Scripting 1407 ...
Page 1734: ...1714 ...
Page 1752: ...1732 ...
Page 1783: ...Configuring Connector ODBC 1763 ...
Page 1793: ...Connector ODBC Examples 1773 ...
Page 1839: ...Connector Net Installation 1819 2 You must choose the type of installation to perform ...
Page 2850: ...2830 ...
Page 2854: ...2834 ...
Page 2928: ...2908 ...
Page 3000: ...2980 ...
Page 3122: ...3102 ...
Page 3126: ...3106 ...
Page 3174: ...3154 ...
Page 3232: ...3212 ...