MySQL HeatWave is a fully managed cloud database service that integrates with MySQL, combining transactions, analytics, machine learning, and generative AI capabilities. It features an in-memory query accelerator for real-time analytics, eliminating the need for ETL processes to separate databases. Available on Oracle Cloud Infrastructure (OCI), AWS, and Azure, HeatWave automates tasks like backups and […]
Whats new in Flexviews 1.6.0RC1
- This is the first release candidate before the final release. If no major bugs are uncovered, then the next release will be the first GA release.
- Flexviews now has a test suite for all major features. The creation of these tests uncovered a number of issues which have been resolved in this release.
- All MySQL aggregate functions except GROUP_CONCAT are now supported.
- A special aggregate function called PERCENTILE is now also supported. The calculation uses a modified version of the GROUP_CONCAT based solution suggested by Roland Bouman for percentiles. This function should be considered experimental. Please report bugs if you find any.
- You can add indexes to enabled materialized views using SQL_API/add_expr
- Adding PRIMARY KEY indexes is no longer …
It may sound like a dramatic number, and that’s because it is. One thing that is enjoyable about working on beta applications is finding new solutions and better methods to improve the user experience. The original method for displaying the recent addition of overview analytics data in the beta version of Kontrollbase was to run [...]
Unlike COUNT(expression), COUNT(DISTINCT expression) is not a
distributable function. That is, the expression can not be
computed by looking at only the changed rows in the table change
logs.
The following view can not be FAST refreshed with Flexviews
today:
SELECT a a_alias,
b b_alias,
c c_alias,
COUNT(DISTINCT d) d_alias
FROM T1
GROUP BY a, b, c;
However, a dependent child materialization could be
created to support the value for COUNT(DISTINCT d):
-- child materialization, dependent subview
--There will be one row for each DISTINCT value of d
SELECT a a_alias,
b b_alias,
c c_alias,
count(*) d_alias_cnt
FROM T1
GROUP BY a, b, c, d;
The original view could then be rewritten as:
SELECT a a_alias,
b b_alias,
c c_alias, …[Read more]
I will be demonstrating the features of Flexviews as well as
talking about how you can improve performance by:
-
- pre-aggregating important tables for improved query
performance
- pre-calculating joins on InnoDB using materialized
views
- nesting incrementally refreshed materialized views to further
improve performance