Sometimes there is need to use conditional expression inside
stored procedure to control the flow of execution.
We can use IF or CASE statements for this.
Below is a stored procedure to check the performance of a student
based on its score.
Store the below stored procedure in a file called
get_performance.sql
DELIMITER $$
DROP PROCEDURE IF EXISTS
get_performance$$
CREATE PROCEDURE get_performance
(score NUMERIC(8, 2),
OUT result VARCHAR(11))
BEGIN
IF (score >= 90) THEN
SET result =
'OUTSTANDING';
ELSEIF (score >= 70 …
August 25, 2014 By Severalnines
Are you going in production with Galera Cluster for MySQL? Here are 9 tips to consider before going live. These are applicable to all 3 Galera versions (Codership, Percona XtraDB Cluster and MariaDB Galera Cluster).
1. Galera strengths and weaknesses
There are multiple types of replication and cluster technologies for MySQL, make sure you understand how Galera works so you set the right expectations. Applications that run on single instance MySQL might not work well on Galera, you might need to make some changes to the application or the workload might not be appropriate. We’d suggest you have a look at these resources:
[Read more]In my last post, “A closer look at the MySQL ibdata1 disk space issue and big tables,” I looked at the growing ibdata1 problem under the perspective of having big tables residing inside the so-called shared tablespace. In the particular case that motivated that post, we had a customer running out of disk space in his server who was looking for a way to make the ibdata1 file shrink. As you may know, that file (or, as explained there, the set of ibdata files composing the shared tablespace) stores all InnoDB tables created when innodb_file_per_table is disabled, but also other InnoDB structures, such as undo logs and data dictionary.
For example, when you run a transaction involving InnoDB tables, MySQL will first write all the changes it triggers in an undo log, for the case you later …
[Read more]In my last post, “A closer look at the MySQL ibdata1 disk space issue and big tables,” I looked at the growing ibdata1 problem under the perspective of having big tables residing inside the so-called shared tablespace. In the particular case that motivated that post, we had a customer running out of disk space in his server who was looking for a way to make the ibdata1 file shrink. As you may know, that file (or, as explained there, the set of ibdata files composing the shared tablespace) stores all InnoDB tables created when innodb_file_per_table is disabled, but also other InnoDB structures, such as undo logs and data dictionary.
For example, when you run a transaction involving InnoDB tables, MySQL will first write all the changes it triggers in an undo log, for the case you later decide to …
[Read more]Fri, 2014-08-22 09:55massimiliano_pinto_g
MaxScale, an open-source database-centric router for MySQL and MariaDB makes High Availability possible by hiding the complexity of backends and masking failures. MaxScale itself however is a single application running in a Linux box between the client application and the databases - so how do we make MaxScale High Available? This blog post shows how to quickly setup a Pacemaker/Corosync environment and configure MaxScale as a managed cluster resource.
Anyone following the instructions detailed here, modifying configuration files and issuing system and software checks could create a complete setup with three Linux Centos 6.5 servers and unicast heartbeat mode.
In a few steps MaxScale will be ready for basic HA operations and one simple failure test, the running process manually killed, is showed as an example.
We make the following assumptions here:
- The …
Normally, sysbench 0.4.12 version can be installed from repositories like “apt-get install sysbench” but the newer version 0.5 is not added in any repo yet (AFAIK) so, it’s bit difficult to install it.
1. Install bzr package if it’s not installed. (i.e apt-get install bzr)
2. Download the code from branch. (i.e bzr branch lp:sysbench) https://code.launchpad.net/~sysbench-developers/sysbench/0.5
root@deb-pxc56-2:~# bzr branch lp:sysbench You have not informed bzr of your Launchpad ID, and you must do this to write to Launchpad or access private data. See "bzr help launchpad-login". Branched 122 revisions. root@deb-pxc56-2:~#
3. Before you compile code from the branch, you need some of the packages to be installed If they are not.
apt-get install automake apt-get install libtool apt-get install libmysqlclient-dev apt-get …[Read more]
It is sometimes required to get the result of a stored procedure
in a variable which can be used later or to output the
result.
To do so, we can use the "OUT" parameter mode while
defining stored procedures.
In the below section, we will be writing a stored procedure to
get the square root of a number returned in an output variable
provided by us.
Stored Procedure Definition:
Store the below stored procedure in a file named
my_sqrt.sql and save it.
DELIMITER $$
DROP PROCEDURE IF EXISTS my_sqrt$$
CREATE PROCEDURE my_sqrt(inp_number INT, OUT
op_number FLOAT)
BEGIN
SET op_number=SQRT(inp_number);
…