Harmonizing Character Encoding Between Imported Data and MySQL
MySQL's Latin-1 default encoding combined with MySQL 4.1.12's (or greater) UTF8 encoding allows the maximum number of characters codes, however incoming data with different character encoding can still present problems. Rob Gravelle shows you how to avoid problems before a lot of work is required to undo the damage.
DRBD and MySQL - Virtualbox Setup
DRBD is a Linux project that provides a real-time distributed filesystem. Sean Hull demonstrates how to use Sun's virtualbox software to create a pair of VMs, then configure those VMs with DRBD, and finally install and test MySQL running on volumes sitting on DRBD.
All About the Crosstab Query
Most relational databases don't provide an easy way to create crosstabs. Rob Gravelle shows you one of several ways to create crosstabs using regular SQL.
Faster & Stronger MySQL
Usually an article like this one will start out with the technical word "scaling". Unfortunately, like health care reform, everyone can't always agree on what they mean by it, or even what the goal is. Learn how to make your database faster, stronger, bigger and better in this article that uses words we can all agree on.
Maximizing Query Performance through Column Indexing in MySQL
Indexes are a feature that you can enable on your MySQL tables to increase performance, but they do have some downsides. Read on as we review some of the best practices for achieving the right balance between query and update speed through column indexing in MySQL.
Tips for Managing Complex Queries
There are ways to structure a query that will minimize the complexity while raising confidence in the data returned. This article shares a few techniques that will help simplify the writing of complex queries.
Fetching Data from Multiple Tables using Joins
Applying normalization to relational databases tends to promote better accuracy of queries, but it also leads to queries that take a little more work to develop, as the data may be spread amongst several tables. In today's article, we'll learn how to fetch data from multiple tables by using joins.
Running MySQL in Batch Mode
Anyone who has spent a fair amount of time working with databases comes to realize that common tasks like backups and data transfers should be run from a script rather than interactively. In this tutorial, we will be writing a common batch file to back up a table to a file.
7 Ways To Crash a Database
Many articles on database administration take the perspective of trying to help you do your job better. We thought we might take a different tack and poke a little fun at some of more egregious mistakes we've seen over the years at IT shops.
Enhance your Queries with Stored Functions
HeidiSQL 4's Stored Routine Editor offers a user-friendly alternative to using a command-line interface to create and manage your stored procedures and functions. Today, we'll be learning how to take advantage of some useful native MySQL functions as well as use the editor to create our own custom functions.
MySQL: Five More Dials To Turn
Last month we talked about some things to set and tune in a new MySQL database installation. We touched on connections, query cache, temp tables, session memory, and the slow query log. This second part in the series hits on some other very important things to tune in a new MySQL database.
MySQL: Five Dials to Set
In this article, Sean Hull looks at the first five out of ten dials that you can turn to get an initial MySQL vanilla install working for your specific application requirements.
Write SQL Code for MySQL Using HeidiSQL 4
HeidiSQL is a free GUI client for MySQL, favored by many Web developers and database administrators of small to medium-sized businesses to manage persistent storage of data. This article will familiarize you with HeidiSQL’s Query editor by using it to write a query that will join four tables together to perform searches against a help library.
MySQL Clustering in a Sandbox
MySQL's unique architecture allows for plugin storage engines. There is the MyISAM storage engine, the ARCHIVE storage engine and the InnoDB storage engine; so it makes sense then that MySQL's clustering solution involves a storage engine as well, namely the NDB (Network DataBase) storage engine.
Five Query Optimizations in MySQL
Query optimization is an often overlooked part of applications. Sean Hull encourages at least some attention to query optimization up front and helps you identify some of the more common optimizations you may run across.
Optimizing the MySQL Query Cache
MySQL's query cache is an impressive piece of engineering if sometimes misunderstood. Keeping it optimized and used efficiently can make a big difference in the overall throughput of your application, so it's worth taking a look under the hood, understanding it, and then keeping it tuned optimally.
Advanced MySQL Replication - Improving Performance
MySQL Replication can be made quite reliable and robust if the right tools are used to keep it running smoothly--but what if enormous loads on the primary server are overloading the slave server. Are there ways to speed up performance, so the slave can keep up?
Intro to MySQL Proxy
It's no surprise that the concept of a proxy has made its way into the database arena. The MySQL Proxy sits between your application and your MySQL database. Future articles will discuss the myriad of uses for this technology.
Fixing MySQL Replication
Continuing last months article on "MySQL Replication Pitfalls," Sean Hull discusses what to do to make your replication setup more resilient.
Accessing Your MySQL Database from the Web with PHP
This week you'll find out how to access the Book-O-Rama database from the Web using PHP. A sampling of key topics covered include: how Web database architectures work, choosing a database to use, querying the database, using other PHP-database interfaces and more.