Showing entries 11 to 20 of 49
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: Query Optimization (reset)
Efficient Use of Indexes in MySQL

The slides of “Efficient Use of Indexes in MySQL” talk we delivered on SFMySQL Meetup.

This is an introductory talk for developers on MySQL indexes. In my opinion it’s quite important to understand how InnoDB organizes data. If you know how MySQL accesses data it’s easier to write optimal queries.

When working with queries I imagine secondary indexes as a table with records sorted by secondary key fields. This is a powerful concept that helps to understand MySQL logic. It’s also easy to understand complex optimizations like loose index scan.

For example, for index (last_name, rank) the secondary index table looks like:

[Read more]
MySQL Query Profiling with Performance Schema

One of my favorite tools for query optimization is profiling. But recently I noticed this warning:

mysql> set profiling=1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show warnings;
+---------+------+----------------------------------------------------------------------+
| Level   | Code | Message                                                              |
+---------+------+----------------------------------------------------------------------+
| Warning | 1287 | '@@profiling' is deprecated and will be removed in a future release. |
+---------+------+----------------------------------------------------------------------+

After looking through certain documentation , I should indeed start using the Performance Schema to get this information.

Okay, so let’s give that a try.

I confirmed that I started MySQL 5.6.23 …

[Read more]
The MySQL Query Cache: How it works, plus workload impacts (good and bad)

Query caching is one of the prominent features in MySQL and a vital part of query optimization. It is important to know how it works as it has the potential to cause significant performance improvements – or a slowdown – of your workload.

The MySQL query cache is a global one shared among the sessions. It caches the select query along with the result set, which enables the identical selects to execute faster as the data fetches from the in memory. It is important to have everything identical, no new comments, spaces, or most significantly differences in the WHERE clause. Basically when you trigger a select query, if it is available in the cache; it fetches from there or it considers the query as a new one and will go to the parser.

Even though it has some nice advantages, the MySQL query cache has its own downsides too. Well, let’s think about this: If you are frequently updating the table, you are then invalidating …

[Read more]
OurSQL Episode 182: Optimizing MariaDB

This week we discuss new optimizer improvements in MariaDB 10. Ear Candy is about the MariaDB threadpool, and At the Movies is Oracle's Tomas Ulin talking about raising the bar with MySQL.

Events
DB Hangops - every other Wednesay at noon Pacific time

Upcoming MySQL events

Training
SkySQL Trainings

Tungsten University trainings

read more

MySQL 5.7 & Workbench 6.1 Query Plans

MySQL 5.7 and Workbench 6.1 work together to provide an even prettier version of a query plan than the impressive stuff from the 5.6/6.0 combo

Here is a sneak peek at MySQL Workbench 6.1′s VISUAL EXPLAIN.

Recently I was demonstrating the difference between using EXPLAIN and VISUAL EXPLAIN to a full room at the fantastic SkiPHP Conference in Salt Lake City. MySQL 5.6 and Workbench 6.0 combine to make an easy to read graphic that aids in understanding the Query Plan Generated by the Optimizer. All in the audience agrees that the ASCII-ish output of EXPLAIN paled in comparison to VISUAL EXPLAIN. Now MySQL 5.7 and Workbench 6.1 work together to provide an even better VISUAL EXPLAIN.

I really meant to test 5.7/6.0 on the plane on the way to SLC but did not get around to it. If I had known, I would have covered the new …

[Read more]
Optimizing MySQL: Batching your write queries

One optimization that I’ve employed several times involves batching write queries. MySQL has some very efficient ways to load multiple rows of data in a single query. Multi-row inserts are one common way to do it, but if you’re adventurous you can also try using LOAD DATA INFILE. Multi-row inserts are just what you would [...]

OurSQL Episode 126: Subqueries and Tracking

This week we present part 2 of optimizer enhancements in MySQL 5.6, including subquery optimizations and the new optimizer trace feature. Ear Candy talks about what "hole punching" is with regards to file systems. In At the Movies we present "How to Deal with Difficult People".

Events
Galera, SkySQL and MariaDB are doing a Road Show in Stockholm on February 7th.

Oracle's doing more MySQL tech tours. These seminars will be in the mornings, and are free. They will be on:
Friday, February 15th near Milan

read more

OurSQL Episode 113: A JS API with JDD

While we were at MySQL Connect last month, we interviewed long-time MySQL developer JD Duncan about integrating NoSQL and JavaScript with MySQL. His team developed the Node.js API for MySQL. This week, we present the interview we did. In Ear Candy, we discuss what makes a senior DBA, and in At the Movies we present a ScaleBase webinar.

Events
Oracle's "Scale with MySQL" seminars:
Bucharest Romania, Tuesday 13 November
Madrid, Tuesday 27 November

read more

OurSQL Episode 108: Legendary Searches

This week we present the Sphinx Storage Engine. Ear Candy is a gotcha about setting variables in the configuration file, and At the Movies is a video about MariaDB.

Events
MySQL Connect will be held in San Francisco on Saturday September 29th and Sunday September 30th. The schedule is now online.

read more

OurSQL Episode 96: Talking about Nothing

This week we talk about NULLs and how to find the right data type.

Events
OSCon will be held Monday Jul 16th through Friday Jul 20th and has a data track. We did a podcast about OSCon, including a discount code!

MySQL Connect will be held in San Francisco on Saturday September 29th and Sunday September 30th. This is a technical conference about MySQL, bringing together MySQL engineers at Oracle and the MySQL Community, and will include sessions about the latest MySQL features and roadmaps. The …

[Read more]
Showing entries 11 to 20 of 49
« 10 Newer Entries | 10 Older Entries »