With the changes to performance_schema in MySQL 5.7 Development
Milestone Release it is now possible to analyze and profile the
execution of stored programs. This is highly useful if you
develop more complex stored procedures and try to find the
bottlenecks. The "old" performance_schema up to MySQL 5.6 only
reported a CALL statement with a runtime, but no information on
statements that were executed WITHIN the stored procedure. Now
let's try this in the latest MySQL 5.7.6 DMR release. After
creating some test table and a test stored procedure we need to
activate the events_statements_history_long consumer, which is
OFF by default:
mysql> UPDATE setup_consumers SET ENABLED="YES"
WHERE NAME = "events_statements_history_long";
Then let's call the stored procedure that we want to
inspect:
mysql> CALL …
This Log Buffer Edition covers the Oracle, SQL Server and MySQL with a keen look on the novel ideas.
Oracle:
The case was to roll forward a physical standby with an RMAN SCN incremental backup taken from primary.
Oracle Database 12c: Smart upgrade
This blog covers how to specify query parameters using the REST Service Editor.
Production workloads blend Cloud and On-Premise Capabilities
ALTER …
[Read more]
A question from digitalpoint on a previous blog about 7.4
restarts requires
an explanation of how we control checkpoint speed in MySQL
Cluster 7.4.
Since the explanation is fairly lengthy I will do it in this blog
instead
of as a reply to a blog comment.
First of all some introduction into checkpoints in MySQL Cluster
7.4. We
actually use the term checkpoint for 2 things. We have LCPs
(local
checkpoints) and GCPs (Global checkpoints). LCPs are the
traditional
checkpoints and the one that will be described in this blog. GCPs
are
about forming groups of transactions that will be durable after
a
restart. GCPs happens very often whereas an LCP is a fairly long
process.
So first I'll introduce why we're doing checkpoints (LCPs) in the
first
place. There are two reasons for doing LCPs. The first is that
MySQL
Cluster uses a log-based approach for …
Today I read a nice article , which give a new design for mysql database . In this article , Author (Mr.lou) uses OneSQL (a branch of MySQL) for the whole test.
you can read from : http://www.onexsoft.com/?page_id=378
This article explain how to use mysql in seckilling scenario (especially for E-Commerce commany )
If you want to use transaction in RDBMS database, you must manual
start transaction and commit in the end of your operation.
So,commit will be cost of the total process, round-trip cost will
be the most important cost as author said
(For simple update operations, without regard to conflict of IO and locks, a statement execution time is about 0.1ms, network delay under normal conditions is 0.4-0.8ms, that the waiting time is longer than the transaction commit time to really notice the SQL execution several times, showing that the …
[Read more]
So, its been a long time since I contributed anything to my blog.
That will end very soon. Things coming up is writing about the
architecture of Shots, Shard optimizations, Data Organization and
Grouping, Java, Golang and some cool other stuff. Also how to
handle Justin Biebers traffic, which is INSANE.
In the meantime if you live in the San Francisco California Bay
Area, you want to work with the coolest founders on the planet,
make a big difference in peoples lives, know mySQL / redis /
memcache / Some C style language or want to learn contact me. I
have a great job for you!
Introduction
The MySQL Optimizer sometimes needs a temporary data-store during
query processing, for storing intermediate results. Before
MySQL 5.7, this need was serviced exclusively using a combination
of the HEAP/MEMORY storage engine (for smaller
tables) and the MyISAM storage engine (for larger
tables). You can find more information on when disk based
temporary tables (MyISAM or InnoDB) are used instead of MEMORY
tables here.
The …
The MySQL Performance Schema exposes so much data that it’s not trivial to learn, configure, and use. With recently released Percona Agent 1.0.11 you can get query metrics – like min, max, and average query execution time – with a few clicks:
Click “Apply” and about two minutes later you’ll have query metrics from Performance Schema, collected and sent every minute.
Percona Cloud Tools (PCT) and Percona Agent handle all the details. You’ll need MySQL (or Percona Server) 5.6 and Percona Agent 1.0.11 or newer. One caveat at the moment: it …
[Read more]What is JSON
JSON is an text based, human readable format for transmitting data between systems, for serializing objects and for storing document store data for documents that have different attributes/schema for each document. Popular document store databases use JSON (and the related BSON) for storing and transmitting data.
Problems with JSON in MySQL
It is difficult to inter-operate between MySQL and MongoDB (or other document databases) because JSON has traditionally been very difficult to work with. Up until recently, JSON is just a TEXT document. I said up until recently, so what has changed? The biggest thing is that there are new JSON UDF by Sveta Smirnova, which are part of the MySQL 5.7 Labs releases. Currently the JSON UDF are up to version 0.0.4. While these new UDF are a welcome edition to the MySQL database, they don’t solve the really tough …
[Read more]
A new feature that assists in making node restart much faster
is
the new PAUSE LCP protocol. This is an excerpt from the
MySQL
Cluster 7.4 source code. There is also a fair amount of new
comments in the 7.4 source code which are only valid in the
code
context.
This module contains code that executes for the purpose of
pausing
LCP reporting to our meta data for a short time while we are
copying the
meta data to a new starting node.
In order to better understand the handling of the LCP protocol we
will
describe the LCP protocol, this includes both the old and the new
protocol.
The LCP protocol is controlled by the DIH in the master
node.
When an LCP has been completed we will immediately start checking
for
the need for a new LCP to be started.
The first step here is to ensure that we have had sufficient
activity in
…
The MySQL Development team is happy to announce our 5.7.6 development milestone release (DMR), now available for download at dev.mysql.com! The source code is available at GitHub. You can find the full list of changes and bug fixes in the 5.7.6 release notes. Here are the highlights. Enjoy!
InnoDB
Refactoring needed for general tablespace (CREATE
TABLESPACE) support (WL#8109) : This work by Kevin Lewis refactors and
cleans up InnoDB code in preparation for supporting general
tablespaces in WL#6205.
…
[Read more]