Showing entries 31 to 35
« 10 Newer Entries
Displaying posts with tag: Internals (reset)
Stuff since the last update

The Thanksgiving break was a welcome change of pace... and on the idle driving up and down the Californian coastline, I had a few moments to work on the MySQL External Stored Procedures project. I think I pretty much have Perl functioning fully and a couple of minor problems were resolved.Yesterday, I completed the first draft of the all-revised-from-scratch WL#3771, now titled as the Plugable

10 Minute HOW-TO

This question seems to crop up again and again... In the words of one comment to my blog: "I've downloaded your External Language Stored Procedures package and am interested in trying out the JAVA part. Would appreciate if you could explain how use the downloaded stuff."Ok, on my download page, I have provided 2 different downloads which are automatically created from our source repository. A

Book Review: Understanding MySQL Internals.

I actually received this book about a month ago but from necessity, I had to put it to one side and deal with more important issues. It is not a big book, only 235 pages, but it has an easy to read conversational style, unlike similarly titled technical books on the internals of other software.

If you're looking for a book about database theory, this book is not for you. It conveys to the reader a good overview as how MySQL functions without delving into the theories as to how the algorithms work or the rationale behind their design. The book does a good job of at least giving a drive-by look at most of the significant components of MySQL. libmysys, MySQL's platform library which allows MySQL to work on a very wide range of operating systems is mentioned only under the subsection titles 'Core API' and 'Utility API' and only lists about 30 of the functions available: libmysys provides the important glue between MySQL and the operating …

[Read more]
InnoDB changes from 5.0.26 to 5.0.36

The way InnoDB handles locking of the Buffer Pool has been changed with 5.0.30. Sites that have a large (16GB+) innodb_buffer_pool_size and high concurrency (4+ CPUs) will experience lock contention of the single global Buffer Pool lock in older versions of MySQL. In Cacti that behavior can look like this:

5.0.26, high InnoDB load, memory saturated environment (database smaller than RAM), very high concurrency.

CPU usage >100% not plotted properly, thus the strange graph. Watch the high system time consumption.

After upgrading from 5.0.26 to 5.0.36, the lock contention goes away. The gain materializes itself as a greatly reduced system time usage.

5.0.36, high InnoDB load, memory saturated, high concurrency.

User time comparable, system time a lot smaller.

latin1_german1_cs

For a migration, I needed a latin1_german1_cs collation, that is, I needed German umlauts to sort as their base characters.

Here is what to do: Find your charsets directory with "SHOW VARIABLES LIKE 'char%dir%'".

Inside that directory will be a file Index.xml. Find a free id and add your new collation using an unused id. Add a description and a name.

Inside the same directory is a file latin1.xml. Inside that file, copy the block of the collation matching your new collation most closely, and adapt it as needed. In my case, I changed latin1_german1_ci to _cs, and modified the character values to match.

Patch attached after the break.

How to use:

After applying the patch, the server must be restarted. "SHOW COLLATION" will now show the new latin1_german1_cs collation. "ALTER TABLE t CHANGE COLUMN oldcol newcol varchar(80) CHARSET latin1 COLLATE …

[Read more]
Showing entries 31 to 35
« 10 Newer Entries