The MySQL server engineering team has started going through the
backlog of contributions, and would like to look at your idea, here,
Please note that MySQL is now using a new contributor agreement, i.e.
the "Sun Contributor Agreement."
Under the Sun Contributor Agreement (SCA), the contributor retains
copyrights while also granting those same rights to Sun as the project
sponsor. It supersedes the previously used MySQL Contributor License
You can get a copy of the SCA document here:
You can sign and send your copy of the SCA document as described here:
Your signatory status along with your interest in contributing to
MySQL will be recorded here:
Having a clear SCA status will enable and facilitate discussion
regarding your ideas and code contributions to MySQL.
I hope this will help move things forward.
On Sun, Dec 2, 2007 at 4:58 AM, Mark Robson <markxr@stripped> wrote:
> Hi all,
> I had this idea to eliminate the MyISAM key buffer and let the OS
> manage it by mmap()ing the whole of every .MYI file.
> This might improve performance but might also make MyISAM more
> self-tuning (because the OS gets to choose what blocks to keep in ram
> Initial testing suggests that the mmap method is marginally faster for
> some (e.g. bulk) operations- but I've not done anything really formal
> Anyway, it's currently in the concept stage, but I've created a quick
> and dirty patch for 5.1.22-rc which implements it.
> As far as I can tell this patch seems to work in a subset of cases at
> least. There are many caveats:
> * It effectively behaves as if delay_key_writes=ALL all the time (I think)
> * Running out of address space is a real possibility on a 32-bit box
> and will stop tables from being opened etc. There may be OS limits on
> mmap()s which I haven't hit yet.
> * Error checking isn't as good as it could be
> * IO errors or running out of disc space will almost certainly cause
> something bad to happen (crash?)
> This option is not currently parameterised (it cannot be turned on/off
> even at compile time).
> There is a lot of copying of blocks in MyISAM key reads/writes, this
> could probably mostly be eliminated if mmap() was used for indexes.
> However, this would require considerable changes to the code base that
> are currently well beyond my ability to understand the code :)
> Comments please
> MySQL Internals Mailing List
> For list archives: http://lists.mysql.com/internals
> To unsubscribe: http://lists.mysql.com/internals?unsub=1