Showing entries 11 to 20 of 43731
« 10 Newer Entries | 10 Older Entries »
An Interesting Optimization

Introduction # I recently encountered an intriguing bug. A user reported that their query was causing vtgate to fetch a large amount of data, sometimes resulting in an Out Of Memory (OOM) error. For a deeper understanding of grouping and aggregations on Vitess, I recommend reading this prior blog post. The Query # The problematic query was: selectsum(user.type)fromuserjoinuser_extraonuser.team_id=user_extra.idgroupbyuser_extra.idorderbyuser_extra.id;The planner was unable to delegate aggregation to MySQL, leading to the fetching of a significant amount of data for aggregation.

A Quick Introduction to JavaScript Stored Programs in MySQL

Recently MySQL added the ability to write Stored Programs in JavaScript.  This allows developers to leverage JavaScript capabilities for complex data processing and business logic within the database server. We think this is really cool. Here’s why.

MySQL 9.0 Includes a New Option for Explaining Queries

MySQL 9.0 is an Innovation Release, but as you may have read in my Quick Peek, I found little innovation. However, one new item caught my eye, and it could be a way to track query performance. MySQL 9.0 EXPLAIN enhancement Here is the syntax that will be referenced in the post. {EXPLAIN | DESCRIBE […]

How to Have a Single MySQL User Account From Specific Hosts

In this article, we will demonstrate how to have a single MySQL database user account that can connect from specific hosts. We would usually implement it by creating separate user accounts with the same username but different hosts/IPs like <USER>@<HOST1>, <USER>@<HOST2> …. <USER>@<HOSTn>. Then, give those users the same grants(privileges/roles) and settings(password, SSL, etc). Instead […]

Using RegEx Subexpressions in MySQL

Regular expressions are a powerful tool for developers. In this post we will demonstrate how to use regular expressions subexpressions in MySQL

Ultimate Guide to Improving MySQL Query Performance

MySQL is certainly a powerful open source database management system, but even the most robust engine struggles when queries take an eternity to execute. For DBAs and developers, improving MySQL query performance is an ongoing goal. Efficient query performance is crucial for ensuring the smooth operation and optimal user experience of applications powered by MySQL […]

A Different RegEx Solution in MySQL

Regular expressions are a powerful tool for developers. In this post we re-examine a solution from a previous post to see if we can streamline the query and use a pure regex solution.

No MySQL 9.x Innovation Releases from Percona

On July 1st, 2024, Oracle launched MySQL 9.0.0, the first release in the 9.x series. This release and the following six versions (9.1.0 to 9.6.0) are designated as “Innovation Releases.” These releases are characterized by their short support lifecycles, lasting only one quarter, and their focus is on introducing new features and innovations, which may […]

Get Your HeatWave MySQL Data On-Premises with Replication

This article guides you through setting up replication between a HeatWave MySQL instance (source) and an on-premise standalone MySQL instance (replica).
It highlights key steps like creating a replication user, securing the connection, and using MySQL Shell utilities for data transfer.

The post Get Your HeatWave MySQL Data On-Premises with Replication first appeared on dasini.net - Diary of a MySQL expert.

Using pt-online-schema-change for Purging Rows and Reclaiming Disk Space in a Single Operation

You probably missed the news, but… PT-1751: Adds –where param to pt-online-schema-change This brings the possibility to perform what I would call an “inverted purge” because you are not actually purging rows from your multi-terabyte table, but rather, you copy the small percentage of rows you want to keep to a new table and then […]

Showing entries 11 to 20 of 43731
« 10 Newer Entries | 10 Older Entries »