Showing entries 1 to 10 of 37115
10 Older Entries »
Insert benchmark, MyRocks and InnoDB

I haven't been sharing many performance results on my blog as I have been saving results for my conference talks. Later this year I expect to blog more and travel less. Today I will share two results from the insert benchmark to compare MyRocks and InnoDB.

tl;dr - both are expected

  • MyRocks insert performance doesn't degrade when the database is larger than memory
  • InnoDB in MySQL 5.7 scales much better than in MySQL 5.6 for in-memory workloads
  • InnoDB in MySQL 5.7 wins for in-memory, MyRocks wins for io-bound


This test does inserts in PK order into a table with 3 secondary indexes. Without the secondary indexes the workload is friendly to a b-tree. But secondary index for a b-tree is read-modify-write and the reads from and writes to storage will make InnoDB slower when the working set doesn't fit into RAM. InnoDB is likely to …

[Read more]
Webinar Wednesday January 18, 2017: Lessons from Database Failures

Join Percona’s Chief Evangelist Colin Charles on Wednesday, January 18, 2017, at 7:00 am (PST) / 10:00 am (EST) (UTC-8) as he presents “Lessons from Database Failures.”

MySQL failures at scale can teach a great deal. MySQL failures can lead to a discussion about such topics as high availability (HA), geographical redundancy and automatic failover. In this webinar, Colin will present case study material (how automatic failover caused Github to go offline, why Facebook uses assisted failover rather than fully automated failover, and other scenarios) to look at how the MySQL world is making things better. One way, for example, is using …

[Read more]
MySQL Day – Sessions review #5

On February 3rd, just before Fosdem and the MySQL & Friends Devroom, MySQL’s Community Team is organizing the pre-Fosdem MySQL Day.

Today we will review Dag H. Wanvik‘s session. Dag is spending most of his time implementing Windows Functions to MySQL.

Dag H. Wanvik is a senior MySQL developer for Oracle. Before he did Derby/Java DB development for Oracle/Apache Foundation and he is a Derby committer. He last co-authored JSON support for MySQL 5.7. In his previous existence Dag worked on several compilers and HA distributed data base systems.

The title of his session is MySQL 8.0: Window functions – finally!

Dag will share is current work on a much wanted feature …

[Read more]
How to replace the TABLE identifier generator with either SEQUENCE or IDENTITY in a portable way

Introduction As previously explained, the TABLE identifier generator does not scale, so you should avoid id. However, some enterprise applications might need to run on both MySQL (which does not support database sequences), as well as Oracle, PostgreSQL and SQL Server 2012. This is article is going to explain how easily you can achieve this … Continue reading How to replace the TABLE identifier generator with either SEQUENCE or IDENTITY in a portable way →

MySQL Day – Sessions review #4

On February 3rd, just before Fosdem and the MySQL & Friends Devroom, MySQL’s Community Team is organizing the pre-Fosdem MySQL Day.

Today’s highlighted sessions are the one of Jean-Françcois Gagné, from

  • How avoids and deals with replication lag at 12.05
  • Monitoring without looking at MySQL at 15.30

Jean-François is working on growing the MySQL/MariaDB installations in since he joined in 2013. His main task …

[Read more]
Percona Live Featured Tutorial with Morgan Tocker — MySQL 8.0 Optimizer Guide

Welcome to another post in the series of Percona Live featured tutorial speakers blogs! In these blogs, we’ll highlight some of the tutorial speakers that will be at this year’s Percona Live conference. We’ll also discuss how these tutorials can help you improve your database environment. Make sure to read to the end to get a special Percona Live 2017 registration bonus!

In this Percona Live featured tutorial, we’ll meet Morgan Tocker, MySQL Product Manager at Oracle. His tutorial is a MySQL 8.0 Optimizer Guide. Many users who follow MySQL development are aware that recent versions introduced a number of improvements to query execution (via the addition of …

[Read more]
20 Common Performance_schema FAQs

1.What are the different types of tables ?


Setup tables:


| events_waits_current |
| events_waits_history |
| events_waits_history_long |
| events_waits_summary_by_account_by_event_name |
| events_waits_summary_by_host_by_event_name |
| events_waits_summary_by_instance |
| events_waits_summary_by_thread_by_event_name |
| events_waits_summary_by_user_by_event_name |
| events_waits_summary_global_by_event_name |


| events_statements_current |
| events_statements_history |
| events_statements_history_long |
| events_statements_summary_by_account_by_event_name |
| events_statements_summary_by_digest |
| events_statements_summary_by_host_by_event_name |

[Read more]
Ad-hoc Data Visualization and Machine Learning with mysqlshell

In this blog post, I am going to show how we can use mysqlshell to run ad-hoc data visualizations and use machine learning to predict new outcomes from the data.

Some time ago Oracle released MySQL Shell, a command line client to connect to MySQL using the X protocol. It allows us to use Python or JavaScript scripting capabilities. This unties us from the limitations of SQL, and the possibilities are infinite. It means that MySQL can not only read data from the tables, but also learn from it and predict new values from features never seen before.

Some disclaimers:

  • This is not a post about to how to install mysqlshell or enable the X plugin. It should be already installed. Follow the first link if instructions are needed.
  • The idea is to show some of the things that can be done from the shell. Don’t expect the …
[Read more]
Released MyMSSQLDump 1.1

My program for exporting data from MSSQL and Sybase into a whole bunch of other formats, including:

  • JSON
  • HTML
  • CSV
  • MySQL (mysqldump style)
  • MYSQL / Sybase INSERT-style
  • Oracle INSERT-style

is now released in version 1.1. There is a whole bunch of new things, most notable Oracle style export format, but also:

  • DATETIME datatype formatting
  • DATETIMEOFFSET formatting
  • Other temporal datatype support
  • Much more flexible formatting in general
  • More tests

As usual this is GPL v2 licenced and is available to download from sourceforge.

Happy SQL'ing

Improving the Stability of MySQL Single-Threaded Benchmarks

I have for some years been running the queries of the DBT-3 benchmark, both to verify the effect of new query optimization features, and to detect any performance regressions that may have been introduced. However, I have had issues with getting stable results. While repeated runs of a query is very stable, I can get quite different results if I restart the server. As an example, I got a coefficient of variation (COV) of 0.1% for 10 repeated executions of a query on the same server, while the COV for the average runtime of 10 such experiments was over 6%!

With such large variation in results, significant performance regressions may not be noticed. I have tried a lot of stuff to get more stable runs, and in this blog post I will write about the things that I have found to have positive …

[Read more]
Showing entries 1 to 10 of 37115
10 Older Entries »