Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 3161 to 3170 of 45354 « Previous | Next »
Automatic update of InnoDB Persistent Statistics Never Triggers

Since MySQL 5.6 InnoDB has supported persistent index statistics. This means that when you restart MySQL, InnoDB does not have to recalculate the statistics for the tables, rather it can read the statistics from its persistent storage. This has several advantages over the transient statistics, but as it turns out, there is also a catch: MySQL may under some circumstances never get around to update the index statistics. This particularly affects instances that are restarted frequently and tables with a large number of rows.

Information

Persistent statistics are the default, so unless you have explicitly chosen not to use them, then you are.

Background

Before I dive into why there are scenarios where persistent statistics are never updated, it is necessary to recap how persistent statistics work. Every time the statistics are updated, the result is stored in the mysql.innodb_index_stats table with …

[Read more]
Making the match: how a patient-first strategy can benefit clinical trials

Exploring the range of options available form clinical trial matching services and the role data plays by putting patients at the center of the search process.

Making the match: how a patient-first strategy can benefit clinical trials

Exploring the range of options available form clinical trial matching services and the role data plays by putting patients at the center of the search process.

How three companies brought the simplicity and flexibility of Oracle Cloud into their own data centers

Beyond the industry buzz around Oracle’s groundbreaking Exadata Cloud@Customer service are hundreds of companies, big and small, that are finding it the obvious solution for bringing cloud innovation into their data centers.

How three companies brought the simplicity and flexibility of Oracle Cloud into their own data centers

Beyond the industry buzz around Oracle’s groundbreaking Exadata Cloud@Customer service are hundreds of companies, big and small, that are finding it the obvious solution for bringing cloud innovation into their data centers.

EXPLAINing the Different EXPLAINS In MySQL

     The main tool for tuning MySQL queries is the EXPLAIN statement (https://dev.mysql.com/doc/refman/8.0/en/explain.html) and one of the hurdles on the learning curve of the EXPLAIN statement is explaining what EXPLAIN is explaining.  Basically EXPLAIN is prepended to a SELECT, TABLE, DELETE, UPDATE, INSERT or REPLACE statement.  To add to an already steep learning curve is that there are many types of EXPLAIN in MySQL.

Let Me Explain

It is very simple to add EXPLAIN at the very beginning of a query to see how the server wants to execute a query. 

EXPLAIN SELECT col1, col2 FROM my_table;

The output will show the query plan (the actual query the optimizer will instruct the MySQL server to run) and some preliminary information about how the query plan was picked among the many possible options.  Learning to use EXPLAIN to tune queries is a long process and beyond the …

[Read more]
MySQL Autopilot - Machine Learning Automation for MySQL HeatWave

Introduction MySQL is the world most popular open source database because of its reliability, high-performance, and ease of use. MySQL has been designed and optimized for transaction processing and enterprises around the world rely on it. With the introduction of HeatWave in MySQL Database Service, ...

Relay log read failure | 2 many dots can break your replication only once

Two or more dots in your relay log or binary log names can break replication; but worry not, it will only do it once. If you request to start again,…

The post Relay log read failure | 2 many dots can break your replication only once first appeared on Change Is Inevitable.

Storing JSON in Your Databases: Tips and Tricks For MySQL Part One

Database architecture and design are becoming an increasingly lost art. With new technologies and the push towards faster development cycles, people continue to take shortcuts, often to the detriment of long-term performance, scalability, and security. Designing how your application stores, accesses, and processes data is so fundamentally important, it can not be overlooked. I want people to understand that early design choices can have a profound impact on their applications. To that end, I will be exploring database design principles and practices over the next several months. I am starting with every developer’s favorite data format: JSON!

It seems that almost every database over the last few years has introduced various degrees of support for storing and interacting with JSON objects directly. While these features are designed to make it easier for application developers to write code faster, the implementations of each implementation …

[Read more]
Use Database Connection Strings with Laravel 8

I’ve been doing a lot of database stuff lately, and not much PHP, so when I returned to make my first Laravel project for a while, I had to check the docs to remind myself how some of this works. I noticed that the default approach to database credentials is still to use separate credentials for the host, port, and other variables. I’m using Aiven databases (because I work there and managed databases are great for demo apps as well as real ones!) which supply connection strings, but Laravel supports these too.

For MySQL, the database connection string from Aiven is in the format:

mysql://username:password@hostname:port/dbname

You can remove the configuration for DB_* and instead use the variable DATABASE_URL with the full string.

Pro-tip: Laravel’s built …

[Read more]