MySQLクエリーテスト環境作成スクリプト
MySQLデータベースのクエリーの最適化を検討するには、まずテスト環境が必要で、分析を行う必要があります.
生産環境でスムーズに実行できるmysqlデータベーススクリプトをテストしました.内容は以下の通りです.
以上のスクリプトは、testデータベースが確立されていない場合に、直接そのスクリプトを実行してtestデータベースを作成し、テストテーブルを作成し、データを挿入します.
作成後、次のコマンドを使用してファイルをエクスポートすることもできます.
私はすでにテスト環境で、上記のコマンドを実行し、バックアップセットを添付ファイルに保存しています.このURLでダウンロードできます.http://download.csdn.net/detail/yumushui/8266469
後でtestテスト環境を作成する必要がある場合は、testデータベースにログインして次のコマンドを実行するだけです.
生産環境でスムーズに実行できるmysqlデータベーススクリプトをテストしました.内容は以下の通りです.
# The sql script is used to create a test mysql database.
# Begtin the sql script.
# Create test database;
create databases test;
use test;
show tables;
select now() as Systemtime;
# Create 5 test tables in test database;
DROP TABLE IF EXISTS `t1`;
DROP TABLE IF EXISTS `t2`;
DROP TABLE IF EXISTS `t3`;
DROP TABLE IF EXISTS `t4`;
DROP TABLE IF EXISTS `t5`;
CREATE TABLE t1(id1 INT,a1 INT,b1 INT,PRIMARY KEY(id1));
CREATE TABLE t2(id2 INT,a2 INT,b2 INT);
CREATE TABLE t3(id3 INT UNIQUE,a3 INT,b3 INT);
CREATE TABLE t4(id4 INT,a4 INT,b4 INT);
CREATE TABLE t5(id5 INT UNIQUE,a5 INT,b5 INT);
show tables;
select now() as Systemtime;
# Create procedure to insert test data into test tables.
select name from mysql.proc where db='test';
show procedure status where db='test';
drop procedure proc01;
drop procedure proc02;
drop procedure proc03;
drop procedure proc04;
drop procedure proc05;
# Create proc01 to insert table t1 into 10000 rows
DELIMITER //
CREATE PROCEDURE proc01()
begin
declare var int;
set var=0;
while var<10000 do
insert into t1 values(var,var,var);
set var=var+1;
end while;
end;
//
DELIMITER ;
select count(*) from t1;
call proc01;
select count(*) from t1;
select now() as Systemtime;
# Create proc02 to insert table t2 into 100 rows
DELIMITER //
CREATE PROCEDURE proc02()
begin
declare var int;
set var=0;
while var<100 do
insert into t2 values(var,var,var);
set var=var+1;
end while;
end;
//
DELIMITER ;
select count(*) from t2;
call proc02;
select count(*) from t2;
select now() as Systemtime;
# Create proc03 to insert table t3 into 100 rows
DELIMITER //
CREATE PROCEDURE proc03()
begin
declare var int;
set var=0;
while var<100 do
insert into t3 values(var,var,var);
set var=var+1;
end while;
end;
//
DELIMITER ;
select count(*) from t3;
call proc03;
select count(*) from t3;
select now() as Systemtime;
# Create proc04 to insert table t4 into 7 rows
DELIMITER //
CREATE PROCEDURE proc04()
begin
declare var int;
set var=0;
while var<7 do
insert into t4 values(var,var,var);
set var=var+1;
end while;
end;
//
DELIMITER ;
select count(*) from t4;
call proc04;
select count(*) from t4;
select now() as Systemtime;
# Create proc05 to insert table t5 into 10 rows
DELIMITER //
CREATE PROCEDURE proc05()
begin
declare var int;
set var=0;
while var<10 do
insert into t5 values(var,var,var);
set var=var+1;
end while;
end;
//
DELIMITER ;
select count(*) from t5;
call proc05;
select count(*) from t5;
select now() as Systemtime;
# Drop the 5 procedure
select name from mysql.proc where db='test';
show procedure status where db='test';
drop procedure proc01;
drop procedure proc02;
drop procedure proc03;
drop procedure proc04;
drop procedure proc05;
select name from mysql.proc where db='test';
show procedure status where db='test';
select now() as Systemtime;
# The end of sql script.
以上のスクリプトは、testデータベースが確立されていない場合に、直接そのスクリプトを実行してtestデータベースを作成し、テストテーブルを作成し、データを挿入します.
作成後、次のコマンドを使用してファイルをエクスポートすることもできます.
mysqldump -uroot -p'123456' -S /data/mysqldata/3306/mysql.sock test t1 t2 t3 t4 t5 > /tmp/test_env.sql
私はすでにテスト環境で、上記のコマンドを実行し、バックアップセットを添付ファイルに保存しています.このURLでダウンロードできます.http://download.csdn.net/detail/yumushui/8266469
後でtestテスト環境を作成する必要がある場合は、testデータベースにログインして次のコマンドを実行するだけです.
msyql -uroot -p
use test;
source test_env.sql