Showing entries 38586 to 38595 of 44041
« 10 Newer Entries | 10 Older Entries »
MySQL Conference Speaker Spotlight: Episode 3 - Joe O'Brien

The third speaker in the spotlight series is Joe O'Brien, who, as it so happens, is the only other speaker than myself who lives in Columbus, Ohio. Joe is a principal at EdgeCase Consulting, a web design and development firm focusing fairly heavily on enterprise and web applications built with Ruby (on Rails).

Joe is teaching a 3 hour tutorial on Monday called "Vital Rails: An Introduction to the Rails Framework". The tutorial promises to be one of the most popular ones, as Ruby, and Rails in particular, is always a highly requested conference topic. Joe will be covering the Rails framework, with a focus on ActiveRecord, the framework's critical component for accessing and updating data in the database using the, uh, ActiveRecord …

[Read more]
MySQL Server Farm

I find it funny that in the middle of winter in Sweden that MySQL's
server farm requires both air conditioning and an open window!

Notice the excellent Swedish engineered racks :)








The first binary distribution of PBXT!

It's quite an effort to compile and test 3 versions of MySQL on 4 different machines, but that is what I have done for the first binary distribution of the PrimeBase XT pluggable storage engine.

Of course, its worth the effort because this is the "holy grail" of the pluggable storage engine strategy. Namely, binary plug-ins that work with the binary distributions prepared by MySQL and others in the community.

And by creating an installer script I have made it easier than ever to install the plug-in. So after you have downloaded the binary package from http://www.primebase.com/xt, all you have to do is:

1. Start your MySQL server.

2. Enter: sudo ./install

The installer will automatically determine the version of the server running and install the corresponding plug-in.

[Read more]
New 5.1 Beta available

Just wanted to let you know that we’ve got a new 5.1 beta release ready for download (5.1.15). Lots of fixes and minor changes went into 5.1.15 so be sure to check the release notes.

To date, the most popular new features in 5.1 continue to be partitioning, row-based replication, events (internal scheduler), and disk-based cluster. If you haven’t done so already, check out the tech white paper I wrote on 5.1 that has lots of examples showing the new 5.1 features in action.

One other interesting fact: according to our latest survey results, 22% of community users and 12% of enterprise customers are already using 5.1 in production. Of course, we don’t recommend you use beta software for production use, but it’s nice to see folks finding that the 5.1 beta can hold up under that kind of pressure.

Be sure to drop me a line …

[Read more]
Debugging sleeping connections with MySQL

Have you ever seen connection in the SHOW PROCESSLIST output which is in "Sleep" state for a long time and you have no idea why this would happen ?

I see if frequently with web applications and it is often indication of trouble. Not only it means you may run out of MySQL connections quicker than you expected but it also frequently indicates serious problems in the application. If you do not use persistent connections and you have connection in Sleep stage for 600 seconds what could it be ? It may mean some of your pages take that long to generate (or might be the code simply gets into the tight loop and page never gets generated) it also could mean some of external Web Services are slow or not available and you're not dealing with timeouts properly. Or may be you have several connections to MySQL server and right now running query which takes that long ? In any case it is something frequently worth looking at.

[Read more]
Open Tables, why should I pay attention?

In discussion the other day a co-worker was looking at a benchmark
that I had created for a problem I was studying on threads with write
performance.

He asked "What is open tables set at?"

I responded that I had it set to a thousand, which is normal the
value I keep on the machine I do development on. I normally look at
300 connections as an average load, but every so often I crank it up
to around a 1000 depending on the test (which is a pretty high
simulation, and not common among the average large websites).

It crossed my mind at this point that I had no idea how the database
behaved with default value in MySQL, which is 64, when you were
running with this many threads. Anyone who has a large number of
threads touching tables knows to crank up the table cache.

As the graph points out, depending on which engine you are …

[Read more]
Progress in MySQL Process List

Today I had a sort of short epiphany regarding getting progress of running statements in MySQL. MySQL already keeps a running count of rows touched in most multi-row statements (called thd->row_count1), so I figured there must be a way to make use of it. It was trivial to expose row_count through SHOW PROCESSLIST. After that, it was fairly obvious that another variable could be added: row_count_expected. For certain statements (currently only ALTER TABLE) it is easy to estimate how many rows will be touched, so that number can be used to calculate a Progress_percent column.

The Progress_rows number indicates progress within a given step of executing the query. For instance, if you run a SELECT with a GROUP BY that can’t be done using an index, you will see two cycles of Progress_rows: once with a State of “Copying to tmp table” and once with “Sending data”.

I implemented this all in …

[Read more]
Yahoo! Pipes: Unlocking the Data Web

For far too long now RSS has been used in ways that don't really tap its true potential. Being able to syndicate my favorite headlines or blog posts is great. In fact, it helped to kick off a revolution in personal on-line publishing that is still growing and evolving. But I want so much more.

It's not for lack of vision. Back in 2005, Adam Bosworth painted a vision that eventually manifested itself as GData. I wrote about that a bit in Google's GData, MySQL, and the Future of on-line Databases.

It's not for lack of data either. You can get RSS output from lots of non-news and non-blog stuff. Everything from classifieds on eBay and …

[Read more]
Sieve of Eratosthenes

-- Sieve of Eratosthenes

-- The sieve of Eratosthenes is a simple algorithm to create a list of prime -- numbers up to some specified limit.

-- First, a list of all interger numbers from 2 up to the specified limit is -- created. Then, the algorithm repeats the following steps until the list -- is empty.

-- The smallest number of the remaining list is picked, it's a prime number. -- All multiples of this numbers are deleted from the list.

-- All the picked numbers are the primes numbers of the original range. DROP PROCEDURE IF EXISTS sieve; DELIMITER $$ CREATE PROCEDURE sieve (amount INT) BEGIN DECLARE cnt INT DEFAULT 2; DECLARE curprime INT; DECLARE lastprime INT DEFAULT 1; -- Temporary table speeds up operations DROP TABLE IF EXISTS mysieve; CREATE TABLE mysieve (nr MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY) ENGINE=MEMORY; DROP TABLE IF EXISTS primes; CREATE TABLE primes (nr MEDIUMINT UNSIGNED NOT NULL) …

[Read more]
At the MySQL Developer Lead Meeting in Stockholm

















Showing entries 38586 to 38595 of 44041
« 10 Newer Entries | 10 Older Entries »