Performance

The Top 20 Design Tips for Enterprise Data Architects

At the 2008 MySQL Conference and Expo, Ronald Bradford delivered "The Top 20 Design Tips for Enterprise Data Architects". See the slides on the Forge at http://forge.mysql.com/wiki/MySQLConf2008ThursdayNotes#Top_20_DB_Design_Tips_Every_Architect_Needs_to_Know

Video: Addressing Challenges of Data Warehousing - a Panel Discussion

At the 2008 MySQL Conference and Expo, there was a panel discussion on "Addressing Challenges of Data Warehousing - a Panel Discussion" including: Robin Schumacher (Sun/MySQL) (moderator) Brian Miezejewski (MySQL), Charles Hooper (Pro Relational Systems), Paul Whittington (NitroSecurity, Inc.), Raj Cherabuddi (Kickfire), Victoria Eastwood (InfoBright Inc.)

Video: Optimizing MySQL and InnoDB on Solaris 10 for World's Largest Photo Blogging Community

At the 2008 MySQL User Conference and Expo, Farhan Mashraqi spoke about "Optimizing MySQL and InnoDB on Solaris 10 for World's Largest Photo Blogging Community". Download the slides, see people's notes, and more on the MySQL Forge Wiki at http://forge.mysql.com/wiki/MySQLConf2008ThursdayNotes#Optimizing_MySQL_and_InnoDB_on_Solaris_10_for_World.27s_Largest_Photo_Blogging_Community

Video: The MySQL Query Cache

At the 2008 MySQL User Conference and Expo, Baron Schwartz spoke on "The MySQL Query Cache". Download the slides, see people's notes, and more on the MySQL Forge Wiki at http://forge.mysql.com/wiki/MySQLConf2008WednesdayNotes#The_MySQL_Query_Cache

Video: Applied Partitioning and Scaling Your Database System

At the 2008 MySQL User Conference and Expo, Phil Hildebrand spoke on "Applied Partitioning and Scaling Your Database System". Download the slides, see people's notes, and more on the MySQL Forge Wiki at http://forge.mysql.com/wiki/MySQLConf2008WednesdayNotes#Applied_Partitioning_and_Scaling_Your_Database_System.

Video: Portable Scale-out Benchmarks for MySQL

At the 2008 MySQL User Conference and Expo, Robert Hodges spoke on "Portable Scale-out Benchmarks for MySQL". Download slides and see links to blog postings at the MySQL Forge Wiki at http://forge.mysql.com/wiki/MySQLConf2008WednesdayNotes#Portable_Scale-out_Benchmarks_for_MySQL

Video: Faster, Greener, Cheaper: Why Every MySQL Database Server Will One Day Have a SQL Chip

At the 2008 MySQL User Conference and Expo, Rick Falkvinge of the Swedish Pirate Party delivered a keynote on "Copyright Regime vs. Civil Liberties".

Video: Practical MySQL for Web Applications

At the 2008 MySQL User Conference and Expo, Domas Mituzas gave a workshop on "Practical MySQL for Web Applications".

Video: Replication Tutorial

At the 2008 MySQL Users Conference and Expo, Lars Thalmann and Mats Kindahl gave a tutorial on replication. Download the slides and see blog posts others have written about the tutorial from the Forge Wiki at http://forge.mysql.com/wiki/MySQLConf2008MondayNotes#MySQL_Replication_Tutorial. If you'd like to download the WMV video file in parts, here's a link to: Part 1, 175.27 Mb and Part 2, 172.42 Mb

Video: Memcached and MySQL

At the 2008 MySQL Users Conference and Expo, Brian Aker (MySQL) and Allan Kasindorf (SixApart) gave a presentation on Memcached and MySQL. Download the slides and see blog posts others have written about the tutorial from the Forge Wiki at http://forge.mysql.com/wiki/MySQLConf2008MondayNotes#Memcached_and_MySQL. If you'd like to download the WMV video file in parts, here's a link to: Part 1, 112.09 Mb and Part 2, 111.31 Mb

Panel Video: Scaling MySQL -- Up or Out?

Yesterday's keynote panel on "Scaling MySQL -- Up or Out?" Keith Murphy managed to take painstaking notes with all the facts and figures. As well, Venu Anuganti presents a chart with the results as well as notes on the more detailed answers. Ronald Bradford has a brief summary of the 20 seconds of wisdom from each panelist.

MySQL Proxy Presentation at the September 2007 Boston MySQL User Group

I have finally managed to watch and slightly edit the September 2007 Boston MySQL User Group presentation I did on the MySQL Proxy. It's geared towards beginners, and has lots of examples, including explaining some of the examples that come bundled with the MySQL Proxy. Direct Play Download video (.wmv file, 612 Mb) Download video (.wmv file, 76.10 Mb) Enjoy! Some resources: Presentation Slides PowerPoint (ppt) or PDF or Flash (swf)
Official Documentation for MySQL Proxy
Proxy information on the MySQL Forge Wiki, including getting started guide, link to FAQ, forums, and lots more articles.
MySQL Proxy Download
Articles about MySQL Proxy written by Giuseppe Maxia Giuseppe Maxia will be leading Introducing Lua for MySQL Proxy scripting for the [free] MySQL University on Thursday, December 13th at 16:00 CET (15:00 URC, 10:00 EDT, 07:00 PST). Make sure to sign up and read Instructions for Attendees. (From his blog, "MySQL University is a series of online expert lessons that you can join for free and attend from the comfort of your home or office. The slides are provided in either PDF of wiki pages, the audio is an ogg stream, and you can interact with the lecturer via IRC. If you have heard of MySQL Proxy but haven't got the time of getting involved with it yet, this session is for you. If you were interested but you thought that another scripting langiage would be too difficult, give this session a chance.") Note: the wishlist at the end includes startup scripts and integraton with my.cnf, my.cnf, which I am informed will be possible with the chassis currently under development for version 0.70.

Log Buffer #72 — a Carnival of the Vanities for DBAs

Welcome to the 72nd edition of Log Buffer, the weekly review of database blogs.
Oracle OpenWorld (OOW) is over, and Lucas Jellema of the AMIS Technology blog notes the OOW Content Catalog has been updated with most of the presentations available for download.
On his way home from OOW, Chris Muir of the appropriately titled One Size Doesn’t Fit All blog notes how OOW and the Australian Oracle User Group Conference and OOW compare with regards to 99% fewer attendees in AUSOUG Perth conference - from 45k down to 350.

Picking Up Where You Left Off……

I started this as a response to Keith Murphy’s post at http://www.paragon-cs.com/wordpress/?p=54, but it got long, so it deserves its own post. The basic context is figuring out how not to cause duplicate information if a large INSERT statement fails before finishing.
Firstly, the surefire way to make sure there are no duplicates if you have a unique (or primary) key is to use INSERT IGNORE INTO.
Secondly, I just experimented with adding an index to an InnoDB table that had 1 million rows, and here’s what I got (please note, this is one experience only, the plural of “anecdote” is *not* “data”; also I did this in this particular order, so there may have been caching taking place):

Top 10 MySQL Best Practices

So, O’Reilly’s ONLamp.com has published the “Top 10 MySQL Best Practices” at http://www.onlamp.com/pub/a/onlamp/2002/07/11/MySQLtips.html. Sadly, I find most “best practice” list do not thoroughly explain the “why” enough so that people can make their own decisions.
For instance, #3 is “Protect the MySQL installation directory from access by other users.” I was intrigued at what they would consider the “installation” directory. By reading the tip, they actually mean the data directory. They say nothing of the log directory, nor that innodb data files may be in different places than the standard myisam data directories.