Jadual Kandungan
Perihalan kes ujian
Ujian enjin storan InnoDB
向InnoDB表插入10000条数据
输出性能指标
MyISAM存储引擎测试
创建MyISAM表
Rumah pangkalan data tutorial mysql Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL

Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL

Jul 12, 2023 pm 03:05 PM
mysql Penilaian prestasi mtr

Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL

Pengenalan:
MySQL ialah sistem pengurusan pangkalan data hubungan biasa yang menyediakan pelbagai enjin storan, seperti InnoDB, MyISAM, dsb. Untuk menilai prestasi enjin storan yang berbeza, MySQL menyediakan alat MTR (MySQL Test Run). Artikel ini menerangkan cara menggunakan MTR untuk penilaian prestasi dan menyediakan contoh kod.

1. Fahami alat MTR

MTR ialah alat ujian MySQL, pada asalnya digunakan dalam suite ujian MySQL. Ia mempunyai fungsi seperti melaksanakan skrip ujian dan rangka kerja ujian secara automatik, dan membenarkan pengguna menulis skrip ujian tersuai. MTR boleh mensimulasikan beban kerja pangkalan data sebenar dan menyediakan metrik prestasi terperinci.

2. Pasang alat MTR

Pertama, kita perlu memasang alat MTR. MTR boleh dimuat turun dari laman web rasmi MySQL.

3. Cipta kes ujian

  1. Buat skrip penilaian prestasi enjin storan

Buat direktori baharu di bawah direktori suite ujian MySQL dan namakannya "engine_perf". Buat skrip ujian MTR baharu dalam direktori ini dan namakannya "engine_perf.test".

Edit fail skrip dan tulis contoh skrip ujian seperti berikut:

---engine_perf.test---

Perihalan kes ujian

--source include/have_innodb.inc # Perkenalkan enjin storan InnoDB
-- source include/ have_myisam.inc # Perkenalkan enjin storan MyISAM

--disable_query_log # Lumpuhkan log pertanyaan MTR

Ujian enjin storan InnoDB

--echo #
--echo # Ujian enjin storan InnoDB

--echo -disable_query_log # Lumpuhkan log pertanyaan MTR

Buat jadual InnoDB

BUAT JADUAL innodb_table (

id int(11) bukan null,innodb_table (
id int(11) not null,
name varchar(100) not null,
primary key (id)
) engine=InnoDB;

--let $start_time=SELECT UNIX_TIMESTAMP(); # 记录开始时间

向InnoDB表插入10000条数据

SET @i = 1;
WHILE @i <= 10000 DO
INSERT INTO innodb_table (id, name) VALUES (@i, CONCAT('Name', @i));
SET @i = @i + 1;
END WHILE;

--let $end_time=SELECT UNIX_TIMESTAMP(); # 记录结束时间

--enable_query_log # 启用MTR的查询日志

输出性能指标

--echo InnoDB存储引擎测试结果:
--eval SELECT $end_time-$start_time as execution_time;

--disable_query_log # 禁用MTR的查询日志

MyISAM存储引擎测试

--echo #
--echo # MyISAM存储引擎测试
--echo #

--disable_query_log # 禁用MTR的查询日志

创建MyISAM表

CREATE TABLE myisam_table (
id int(11) not null,
name varchar(100) not null,
primary key (id name varchar (100) bukan nol,
kunci utama (id)

) engine=InnoDB;

--biar $start_time=SELECT UNIX_TIMESTAMP(); # Rekod masa mula

Masukkan 10,000 entri ke dalam Data jadual InnoDB


SET @i = 1;
SEMASA @i <= 10000 DO
MASUKKAN KE DALAM innodb_table (id, nama) NILAI (@i, CONCAT('Nama', @i));
SET @i = @i + 1;

TAMAT SEMASA;

--biarkan $end_time=SELECT UNIX_TIMESTAMP(); # Catat masa tamat

--enable_query_log # Dayakan log pertanyaan MTR

Penunjuk prestasi storan output


--echo InnoDB--echo keputusan :

--eval SELECT $end_time-$start_time as execution_time;

--disable_query_log # Lumpuhkan log pertanyaan MTR

Ujian enjin storan MyISAM

--gema #
    --echo # ujian enjin storan MyISAM-
  1. #
  2. --disable_query_log # Lumpuhkan log pertanyaan MTR
Buat jadual MyISAM

BUAT JADUAL jadual_myisam (

id int(11) bukan null,

nama varchar(100) not null,

primary key (id)

) engine=MyISAM;

--biar $start_time=SELECT UNIX_TIMESTAMP(); # Rekod masa mula🎜🎜 Masukkan 10000 keping data ke dalam jadual MyISAM🎜🎜SET @i = 1;🎜SEMASA @i <= 10000 DO🎜 MASUKKAN KE DALAM myisam_table (id, nama) NILAI (@i, CONCAT('Nama', @i)); 🎜 SET @i = @i + 1;🎜END WHILE;🎜🎜--biarkan $end_time=SELECT UNIX_TIMESTAMP(); # Rekod masa tamat🎜🎜--enable_query_log # Dayakan log pertanyaan MTR🎜🎜Output performance indicators🎜🎜 echo keputusan ujian enjin storan MyISAM:🎜--eval SELECT $end_time-$start_time as execution_time;🎜🎜--disable_query_log # Lumpuhkan log pertanyaan MTR🎜🎜Di atas ialah skrip ujian asas. Ia menilai prestasi enjin storan yang berbeza dengan mencipta dua jadual, InnoDB dan MyISAM, dan memasukkan 10,000 keping data ke dalam jadual. Selepas setiap ujian enjin storan selesai, masa pelaksanaan akan dikeluarkan. 🎜🎜4. Jalankan ujian 🎜🎜🎜Masukkan direktori suite ujian MySQL dalam terminal. 🎜🎜Jalankan skrip ujian MTR. 🎜🎜
./mtr engine_perf
🎜MTR akan melaksanakan skrip ujian dan penunjuk prestasi output. 🎜🎜Contoh kod hanyalah skrip ujian asas yang boleh anda ubah suai dan lanjutkan mengikut keperluan sebenar anda. Dengan menulis skrip ujian yang lebih kompleks, anda boleh menjalankan penilaian prestasi yang lebih komprehensif dan terperinci bagi enjin storan MySQL. 🎜🎜Kesimpulan: 🎜🎜Artikel ini menerangkan cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL dan menyediakan contoh skrip ujian asas. Dengan menggunakan alat MTR, kami boleh mensimulasikan beban kerja pangkalan data sebenar dan mendapatkan petunjuk prestasi terperinci untuk menilai prestasi enjin storan yang berbeza. Saya harap artikel ini akan membantu anda memahami alat MTR dan menilai prestasi enjin storan MySQL. 🎜

Atas ialah kandungan terperinci Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menukar pemisah kumpulan_concat di mysql Cara menukar pemisah kumpulan_concat di mysql Aug 22, 2025 am 10:58 AM

Anda boleh menyesuaikan pemisah dengan menggunakan kata kunci pemisah dalam fungsi Group_Concat (); 1. Gunakan pemisah untuk menentukan pemisah tersuai, seperti pemisah '; 'Pemisah boleh diubah menjadi titik titik koma dan ditambah; 2. Contoh umum termasuk menggunakan watak paip '|', ruang '', watak pemecah garis '\ n' atau rentetan adat '->' sebagai pemisah; 3. Perhatikan bahawa pemisah mestilah rentetan literal atau ekspresi, dan panjang hasilnya terhad oleh pembolehubah kumpulan_concat_max_len, yang boleh diselaraskan oleh setSessionGroup_concat_max_len = 10000; 4. Pemisah adalah pilihan

Cara mengunci jadual di mysql Cara mengunci jadual di mysql Aug 15, 2025 am 04:04 AM

Jadual boleh dikunci secara manual menggunakan kunci kunci. Kunci baca membolehkan beberapa sesi dibaca tetapi tidak boleh ditulis. Kunci tulis menyediakan kebenaran baca dan tulis eksklusif untuk sesi semasa dan sesi lain tidak dapat dibaca dan ditulis. 2. Kunci hanya untuk sambungan semasa. Pelaksanaan starttransaction dan arahan lain secara tersirat akan melepaskan kunci. Selepas mengunci, ia hanya boleh mengakses jadual terkunci; 3. Hanya gunakannya dalam senario tertentu seperti penyelenggaraan jadual myisam dan sandaran data. InnoDB harus memberi keutamaan untuk menggunakan urus niaga dan kunci peringkat baris seperti pilih ... forupdate untuk mengelakkan masalah prestasi; 4. Selepas operasi selesai, unlocktables mestilah dikeluarkan secara eksplisit, jika tidak, penyumbatan sumber mungkin berlaku.

Bagaimana untuk memilih data dari jadual di MySQL? Bagaimana untuk memilih data dari jadual di MySQL? Aug 19, 2025 pm 01:47 PM

Untuk memilih data dari jadual MySQL, anda harus menggunakan pernyataan pilih, 1. Gunakan selectColumn1, column2fromtable_name untuk mendapatkan lajur yang ditentukan, atau gunakan Pilih* untuk mendapatkan semua lajur; 2. Gunakan di mana klausa untuk menapis baris, seperti selectName, Agefromuserswhereage> 25; 3. Gunakan Orderby untuk menyusun hasilnya, seperti OrderByEgedesc, yang mewakili urutan menurun; 4. Penggunaan Had untuk mengehadkan bilangan baris, seperti Limit5 untuk mengembalikan 5 baris pertama, atau menggunakan Limit10Offset20 untuk melaksanakan paging; 5. Gunakan dan, atau dan kurungan untuk menggabungkan

Bagaimana cara menggunakan ifnull () dalam mysql? Bagaimana cara menggunakan ifnull () dalam mysql? Aug 22, 2025 pm 02:00 PM

Ifnull () inmysqlreturnsthefirstexpressionifitisnotnull, otherwisereturnsthesecondexpression, afteritidealforreplacingnullValues withdefaults; forexample, ifnull (middle_name, 'n/a') paparan'n/a'whenmiddle_nameisnull, ifnull (discount, 0) memastikan calculations

Bagaimana untuk bekerja dengan data JSON di MySQL? Bagaimana untuk bekerja dengan data JSON di MySQL? Aug 17, 2025 am 11:21 AM

Gunakan MySQL untuk memproses data JSON untuk terus menyimpan, menanyakan dan mengendalikan data separa berstruktur dalam pangkalan data relasi. Sejak versi 5.7, jenis JSON disokong; Lajur ditakrifkan melalui jenis data JSON dan nilai JSON undang -undang dimasukkan, MySQL akan mengesahkan sintaks secara automatik; Data boleh diekstrak menggunakan json_extract () atau -> (pulangan rentetan yang disebutkan) dan ->> (mengembalikan nilai yang tidak disebutkan), seperti profil ->> "$ .city" untuk mendapatkan nama bandar; Sokongan Penapisan Nilai JSON Melalui tempat klausa, dan disyorkan untuk menggunakan lajur dan indeks yang dihasilkan untuk meningkatkan prestasi, seperti addCityVarchar (50) genera

Cara menggunakan operator seperti di mysql Cara menggunakan operator seperti di mysql Aug 22, 2025 am 12:23 AM

ThelikeoperatorinmysqlisusedtosearchforpatternsIntextDataingWildCards; 1. Gunakan%tomatchanysequenceofcharactersandtomatchasingle watak; 2.forexample, 'John%' findsnamessTartingWithJohn, '%son'findsNamesendingWithson,'%ar%'findsnamescontainingar,' \ _ _ _ \ _ _

Cara Mengatasi Kesalahan dalam Prosedur Disimpan MySQL Cara Mengatasi Kesalahan dalam Prosedur Disimpan MySQL Aug 17, 2025 am 06:50 AM

UseClareContinueDeclareexithandlertospecifyerrorhandlesbehavior, wherecontinueallowsexecutionToproiseAfterHandlingTheRor, andexitstopsexecutionofthecurrentblock;

Bagaimana untuk mendapatkan saiz meja di MySQL? Bagaimana untuk mendapatkan saiz meja di MySQL? Aug 21, 2025 am 10:02 AM

Untuk menyemak saiz jadual MySQL, anda boleh mendapatkannya dengan menanyakan maklumat_schema.tables; Kaedah khusus adalah menggunakan pernyataan pilih untuk menggabungkan medan data_length dan index_length dan menukarnya ke unit MB. Anda boleh melihat saiz data dan indeks untuk satu jadual, semua jadual, atau secara berasingan. Kaedah ini sesuai untuk kebanyakan kes, tetapi nilai adalah anggaran. Mungkin terdapat perbezaan untuk jadual InnoDB. Cara yang paling biasa dan standard adalah untuk menanyakan jadual jadual dalam pangkalan data maklumat_schema untuk mendapatkan hasilnya.

See all articles