Showing entries 91 to 100 of 227
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: work (reset)
Optimizer Edge cases

I love teaching EXPLAIN in training classes with the world.sql sample database. One of my favorite edge cases to try and explain to students is:

SELECT Name FROM Country WHERE continent = 'Asia' AND population > 1 000 000 000;



If you add an index on Continent,Population and Population, MyISAM will choose to use the composite index (Continent,Population), whereas InnoDB will choose just the Population index.

It's a simple geography question... all of the countries in the world with > 1B people *are* in Asia. Since both indexes are equally effective, InnoDB chooses to use the one with the shorter key_len, despite the fact it will have to do a second stage check on the data rows to verify this.

I think that this decision (shorter index) is the right one - since unless the database has index pinning, it should …

[Read more]
Optimizer Edge cases

I love teaching EXPLAIN in training classes with the world.sql sample database. One of my favorite edge cases to try and explain to students is:

SELECT Name FROM Country WHERE continent = 'Asia' AND population > 1 000 000 000;



If you add an index on Continent,Population and Population, MyISAM will choose to use the composite index (Continent,Population), whereas InnoDB will choose just the Population index.

It's a simple geography question... all of the countries in the world with > 1B people *are* in Asia. Since both indexes are equally effective, InnoDB chooses to use the one with the shorter key_len, despite the fact it will have to do a second stage check on the data rows to verify this.

I think that this decision (shorter index) is the right one - since unless the database has index pinning, it should …

[Read more]
boring from another continent


as celia wrote earlier, we are in riga, latvia for a meeting of the mysql developers. she is holed up in the hotel room working on a screenplay (or maybe in the atrium where the wifi is better), and i am in a presentation about blogging.

celia already posted pictures from our excursion day on sunday (the day we didn’t sit around in the meeting rooms at the hotel). i took some video which i will figure out how to deal with once we are back home.

MySQL Lists via NNTP

MySQL Lists are available via NNTP, so you can use your newsreader! If only all lists were like this.

Now for the real motivations…

After all acquisitions, things tend to change. We’ve been mostly nudged to migrate to using Sun’s email systems, and you can imagine its fun moving about three years worth of mail from one server to another. Especially, while you’re at the developer’s meeting, with lots of people sucking bandwidth.

The recommended method is to Ctrl+drag (OK, Command+Drag for me on the Mac) folders. This is called pain. My Sieve filters are also not importing without pain.

As a consequence, I’ve unsubscribed from all MySQL Lists. But that’s the point of this post - you can read all MySQL Lists using NNTP (with a newsreader of course - Thunderbird is …

[Read more]
Looking for new Coworkers

It’s been over two years since I left MySQL to work for Message Systems and I’ve really been happy with things here. I work with a great team on interesting work for a good company who treats us well. Not much more you could ask for.

Except for more coworkers. We’re in need of a few new additions to the 2009 team:

We need engineers and tech trainers, scroll down for the details. If you’re interested send an email to mike@thisdomain!

Technical Trainer / Curriculum Developer

This position designs, develops and delivers online and in-person instructor led trainings on the Message Systems products and services for a variety of audiences including customers, partners and internal staff.
You will design courses and instructional material for everything ranging from short informational quick-
starts to multi-day workshops.
The audience for these training programs will primarily be mid-senior …

[Read more]
Looking for Coworkers

It’s been over two years since I left MySQL to work for Message Systems and I’ve really been happy with things here. I work with a great team on interesting work for a good company who treats us well. Not much more you could ask for.

Except for more coworkers. We’re in need of a few new additions to the 2009 team:

We need engineers and tech trainers, scroll down for the details. If you’re interested send an email to mike@thisdomain!

Technical Trainer / Curriculum Developer

This position designs, develops and delivers online and in-person instructor led trainings on the Message Systems products and services for a variety of audiences including customers, partners and internal staff.
You will design courses and instructional material for everything ranging from short informational quick-
starts to multi-day workshops.
The audience for these training programs will primarily be mid-senior …

[Read more]
MySQL Query Analyzer: A Peek Under the Hood

I had a hard time coming up with a title for this blog post. I really wanted to capture its essence. Several discarded titles include, but are not limited to:

  • How It Works
  • The Gory Details
  • Everything You Never Wanted to Know
  • The Insider's Perspective

I picked the lamest one, hoping that it is catchy enough to ensnare the unfortunate soul that comes across my blog. Just in case you don't know by now, I work for MySQL (ok, Sun) on the Enterprise Tools team. We're approaching (some sort of) release of MySQL Enterprise Monitor 2.0, with the headline feature Query Analysis.

What I want to achieve with this article is to give definitions, data, flow, etc., that describe how we look at things internally in the architecture of the application. This is intended to give the hapless reader an idea of what Query Analysis can do, and consequently what it can not.

[Read more]
MySQL and the Missing Rows

I was doing some multi-threaded, multi-transactional testing for the backend of the MySQL Enterprise Monitor. I came across a weird failure, where it appeared I was able to successfully insert a row, and then (in the same transaction), a select from the same table did not return any rows.

Consider the following transactions:


mysql> create table t1 (id integer primary key auto_increment, name varchar(32) unique) engine=innodb;

a> begin;

b> begin;
b> select * from t1;

a> insert into t1 values(null, 'oldag');

b> insert into t1 values(null, 'oldag) on duplicate key update id=LAST_INSERT_ID(id);
(b blocks)

a> commit;

(b is released)
...
Query OK, 0 rows affected (0.00 sec)
b> select * from t1;
Empty set (0.00 sec)


what, what, …

[Read more]
need anything dampened?

drizzle is an interesting new development in the mysql landscape. brian aker, who came along to sun microsystems in the acquisition but is actually now part of sun labs, not the database group, has taken the mysql server and started to strip it down to the bare metal. he isn’t working alone, of course, but has picked up some contributors during the stealthy period before they announced it at oscon on tuesday.

if you were paying attention the other day, you may have dug around my launchpad code page and noticed that i had a branch of drizzle where i was applying some fixes to make it build on mac os x. that should be merged into the main tree soon, so that branch will soon be retired. i’m not sure what i might try to do next.

drizzle isn’t something i am …

[Read more]
my mac essentials

whenever i see somebody’s list of essential mac applications, i am always a little surprised at how little overlap it has for me. now that i’ve mostly switched over the new macbook pro, here’s the list of applications that i have installed:

  • acorn ($50): this is a nifty little image editing application. in the last few days, i have been using it to mock up shelving layouts for the store.
  • bzr (free): this is the distributed version control system of choice at mysql these days.
  • busysync: it would be nice to keep my google calender and ical in sync. after giving spanning sync a try for a bit, i am giving this a try as an alternative.
[Read more]
Showing entries 91 to 100 of 227
« 10 Newer Entries | 10 Older Entries »