GROUP BY and HAVING examples – Supplemental
blog post. The example of HAVING in the text shows a use case
where HAVING is the same function as WHERE. This blog posts shows
examples of HAVING that you cannot do any other way.

In the section called “The GROUP BY clause”, on pages 231-232,
the book says:
“you can count any column in a group, and you’ll get the same
answer, so COUNT(artist_name) is the same as …

In this blog post, we talk about the results
of Percona’s time series database poll “What Database
Engine Are You Using to Store Time Series Data?”

Time series data is some of the most actionable data available
when it comes to analyzing trends and making predictions. Simply
put, time series data is data that is indexed not just by value,
but by time as well – allowing you to view value changes over
time as they occur. Obvious uses include the stock market,
web traffic, user behavior, etc.

With the increasing number of smart devices in the Internet of
Things (IoT), being able to track data over time is more and more
important. With time series data, you can measure and make …

This is for beginners – If you have no experience with MySQL, or
if you are a developer that wants to learn how to administer
MySQL, or an administrator that wants to learn how to query
MySQL, this course is what you want. If you are not a beginner,
you will likely still learn some nuances, and it will be easy and
fast to do. If you have absolutely zero experience with MySQL,
this is perfect for you. The first few chapters walk you through
getting and installing MySQL, so all you need is a computer and
the book.

The format of a virtual self-study group is as follows:
Each participant acquires the same textbook ( …

Take Percona’s blog poll on what database
engine you are using to store time series data.

Time series data is some of the most actionable data available
when it comes to analyzing trends and making predictions. Simply
put, time series data is data that is indexed not just by value,
but by time as well – allowing you to view value changes over
time as they occur. Obvious uses include the stock market,
web traffic, user behavior, etc.

With the increasing number of smart devices in the Internet of
Things (IoT), being able to track data over time is more and more
important. With time series data, you can measure and make
predictions on things like energy consumption, pH values, water
consumption, data from environment-aware machines like smart
cars, etc. The sensors used in IoT devices and
systems generate huge …

I compared InnoDB without compression, InnoDB with 8k
compression, TokuDB with quicklz compression.
Uncompressed datasize is 115GiB, and cachesize
is 12GiB for InnoDB and 8GiB +
4GiB OS cache for TokuDB.

As discussed in my presentation to NYLUG, I wanted to provide system
administrations with some really quick analysis and performance
fixes if you had limited knowledge of MySQL.

One of the most important things with MySQL is to tune memory
properly. This can be complex as there are global buffers, and
per session buffers, memory tables, and differences between
storage engines. Even this first tip has conditions.

I already wrote how MariaDB makes the debug of stored procedures
much easier via the SQL Error Log. But I recently found out that
MariaDB provides a usable workaround for some big limitations of
their procedural SQL.

First, SELECT is not the only SQL statement which
returns a resultset. Other examples are DELETE RETURNING, CALL,
SHOW, EXPLAIN and administrative
commands like ANALYZE TABLE or CHECK
TABLE. But these commands cannot be used in place of
SELECT in the following contexts:

In theory, I completely agree that MySQL and forks should not
allow us to set a default storage engine which cannot be used to
create a table. You can see the same with MariaDB’s
SEQUENCE. The MySQL & forks philosophy seems to
be: ignore your mistakes, so you can repeat them
forever. Which can turn a mistype into a major data loss.

Unless you only use InnoDB and your magic powers tell you that
this will never change, the ENGINE clause should be
mandatory in your MySQL installation. Since there is no clean way
to make it mandatory, setting a “weird” storage engine as default
seems to be a decent workaround. I don’t like it, but it can
prevent human mistakes.

Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.