Read reactions and praises by leading industry analysts towards the March 2022 new feature announcement for Oracle MySQL HeatWave, a fully managed service that enables customers to run OLTP and OLAP workloads directly from their MySQL Database. New capabilities announced are: in-database machine learning, real-time elasticity to scale up or down, and compression, enabling 2X more data per node and a lower price entry point.
The utf8mb4 character set is the new default as of MySQL 8.0, and this change neither affects existing data nor forces any upgrades.
Migration to utf8mb4 has many advantages including:
- It can store more symbols, including emojis
- It has new collations for Asian languages
- It is faster than utf8mb3
Still, you may wonder how migration affects your existing data. This blog covers multiple aspects of it.
Storage Requirements
As the name suggests, the maximum number of bytes that one character can take with character set utf8mb4 is four bytes. This is larger than the requirements for utf8mb3 which takes three bytes and many other MySQL character sets.
Fortunately, utf8mb3 is a subset of …
[Read more]MySQL HeatWave is a fully managed database service that lets users develop and deploy secure cloud native applications using the world’s most popular open source database. MySQL HeatWave is the only MySQL service with a highly scalable integrated query accelerator which enables customers to run OLTP, OLAP and mixed workload with a single database, without […]
New features and capabilities being introduced with MySQL HeatWave ML.
I’ve once again published a massive issue of the OpenLampTech newsletter, the newsletter for PHP/MySQL developers. If you’re looking to learn more about PHP and MySQL, you’ve come to the right place…
Image by Clker-Free-Vector-Images from Pixabay
The Newsletter for PHP and MySQL Developers
Receive a copy of my ebook, “10 MySQL Tips For Everyone”, absolutely free when you subscribe to the …
[Read more]Anyone familiar with Oracle performance tuning knows about ASH , aka active session history. ASH saves a history of every session that is active every collection, which by default is once per second. Once per second is fast enough to give a clear view of database load.
The ASH data comes from v$session which is a structure that contains information on every connection and shows which connections are active, what SQL they are running (SQL_ID) and if they are runnable on CPU or waiting on a wait_event for some resource like an I/O to complete or a lock or latch. It’s a pretty simple select query on v$session to select who is active, their wait_event and SQL_ID.
On Oracle that gives us a query like:
select sid||':'||serial# session_id,
username,
s.sql_id||':'||sql_child_number sqlid,
decode(state, 'WAITING', wait_class||':'||event, 'CPU') event
from v$session s
where (( s.wait_time != 0 /* on CPU */ …[Read more]
On 22nd March 2022 08:43 UTC, we became aware of the issue affecting Okta, a third-party identity provider that Percona uses for https://id.percona.com. Initially, there was no statement from Okta, so our Security Operations team reviewed the information available from LAPSUS$ and other public sources.
Based on the public information available about the issue, we evaluated the potential exposure to Percona and determined that the impact was minimal. Percona uses Okta integrations so https://id.percona.com can be used to authenticate against Percona’s deployments of:
- forums.percona.com (Discourse)
- percona.service-now.com (ServiceNow)
- portal.percona.com (Dashboard portal interface where users & clients can add their PMM integration).
Integrations of …
[Read more]How does one use NESTING_EVENT_ID?
Below I’ve selected from events_waits_history_long for a single thread, but none of the NESTING_EVENT_ID values show up in EVENT_ID or END_EVENT_ID.
To simplify things , I’m just showing the data for one THREAD_ID listed in order of TIMER_START.
mysql> select
THREAD_ID,
EVENT_ID,
END_EVENT_ID,
NESTING_EVENT_ID,
NESTING_EVENT_TYPE,
EVENT_NAME,
SOURCE,
TIMER_WAIT,
SPINS,
OBJECT_SCHEMA,
OBJECT_NAME,
INDEX_NAME,
OBJECT_TYPE,
OBJECT_TYPE,
OBJECT_INSTANCE_BEGIN,
OPERATION,
NUMBER_OF_BYTES,
FLAGS
from
performance_schema.events_waits_history_long
where
THREAD_ID in ( select max(thread_id) from performance_schema.events_waits_history_long where …[Read more]
MySQL Shell for VS Code is a brand new extension for MS Visual Studio Code. We have taken the full power of MySQL Shell – our advanced MySQL Client for Developers and DBAs – and made it available directly inside Visual Studio Code. Together with support for the MySQL Database Service on Oracle Cloud, our […]
A short introduction to the new MySQL Shell for VS Code extension.