mysql不同版本和存储引擎选型的验证_MySQL
bitsCN.com
Mysql的版本和存储引擎较多,为了选择最适合业务使用的系统,需要进行一定的验证,本文描述mysql的验证过程和思路。
主要涉及:
Mysql的版本
v Mariadb
v Tokudb
v Oracle
具体的存储引擎
v Myisam
v Innodb
v TokuDB
v Maria
如下是具体的思路
My.cnf配置
log-bin=mysql-bin 关闭,不要写日志
skip-networking 开启
安装和配置
v mariadb5.5
v Oracle
v Tokudb
如上目录下有对应的安装,卸载脚本
具体步骤如下:
1.首先停止mysql服务
a) service mysql stop / service mysqld stop
b) killall -9 mysql | killal -9 mysqld
c) /etc/profile中不要有mysql的环境变量设置
2.安装引擎
a) 以上的各个对应目录有安装的脚本
3.检验
a) 进入对应的安装目录下的bin目录
b) ./mysql -uroot -p123456 检查安装的版本信息是否正确
c) show engines; show plugins; 可以查看引擎的安装情况
4.运行单元测试验证各个引擎的性能
单元测试[Gtest]
基础插入函数
包括
v 迭代次数
v 存储包的大小:数据字段可设置大小
###是具体的业务表
static void insertOneSession(int count, int size, bool canTruncate = true){
### item = createItem(size);
cppdb::session session;
static const std::string sql =
"insert into `###`) /
VALUES ( ?, FROM_UNIXTIME(?), ?, ?, ?, ?, ?, /
INET_ATON(?), ?, ?, ?, ?, ?, /
?, ?, ?)";
{
try {
session = cppdb::session(::common::base::BaseData::dbConnectString);
cppdb::statement stmt;
if (canTruncate) {
const static string ready = "TRUNCATE table ***";
stmt = session.prepare(ready);
stmt.exec();
}
stmt = session.prepare(sql);
for (int i = 0; i
stmt.reset();
stmt.bind(###);
...
stmt.exec();
}
} catch (std::exception const &e) {
LOG(ERROR)
}
// //关闭链接
if (session.is_open())
session.close();
}
{
//统计出表空间
session =
cppdb::session(
"mysql:user=root;password=123456;database=mysql;set_charset_name=utf8; @pool_size=1");
cppdb::statement stmt =
session.create_statement(
"select table_name,engine,ROUND(data_length/1024,2) size,table_rows from information_schema.tables where table_schema='###' and table_name='traffic'");
cppdb::result r = stmt.query();
while(r.next()){
string table_name, engine;
long size, table_rows;
r.fetch(table_name);
r.fetch(engine);
r.fetch(size);
r.fetch(table_rows);
LOG(INFO)
}
if (session.is_open())
session.close();
}
}
Isam存储测试
class benchMyisamTest: public testing::Test {
public:
static void SetUpTestCase() {
//建立对应的表结构
std::string mysql = "/usr/local/mysql/bin/mysql --default-character-set=utf8 -uroot -p123456 -D mysql -e /"source myisam.sql/"";
system(mysql.c_str());
}
static void TearDownTestCase() {
}
};
TEST_F(benchMyisamTest, 1w100) {
insertOneSession(10000, 100);
}
TEST_F(benchMyisamTest, 1w1000) {
insertOneSession(10000, 1000);
}
....
多线程存储测试
#include
//多个工作线程的处理
int thread_Num, thread_Size;
void worker(){
insertOneSession(thread_Num, thread_Size);
}
void workerThread(int ts, int count, int size){
//多线程模式下必须使用,否则mysql client库无法连接错误111
mysql_library_init(0, NULL, NULL);
thread_Num = count;
thread_Size = size;
boost::thread_group threads;
for (int i = 0; i
threads.create_thread(&worker);
}
threads.join_all();
LOG(INFO)
//这个错误好像是libmysqlclient的兼容问题 Error in my_thread_global_end(): 4 threads didn't exit
mysql_library_end();
}
TEST_F(benchMyisamTest, thread_1w100) {
workerThread(2, 10000, 100);
}
TEST_F(benchMyisamTest, thread_30w) {
workerThread(3, 100000, 1000);
}
..
其他引擎测试
和如何类似,你可以写出你自己的测试引擎
结果
如下只是我用的虚拟机平台的结果,不代表普适性
存储引擎 |
优点 |
缺点 |
MyISAM |
v 插入快 v 查询可以使用索引 |
v 存在表崩溃问题 |
ARCHIVE |
v 大量时比myisam还快 |
v 无索引 v 不能更新、删除 |
InnoDB |
v 支持事务 |
v 慢 |
TokuDB |
v 写入的高性能没有测到 |
v |
Maria |
v 和Myisam类似 v 对崩溃安全 |
v |
http://pan.baidu.com/s/1sj0cI8t 是具体的一些安装和配置不同的数据库脚本
bitsCN.com
Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Die Installation von MySQL auf CentOS umfasst die folgenden Schritte: Hinzufügen der entsprechenden MySQL Yum -Quelle. Führen Sie den Befehl mySQL-server aus, um den MySQL-Server zu installieren. Verwenden Sie den Befehl mySQL_SECURE_INSTALLATION, um Sicherheitseinstellungen vorzunehmen, z. B. das Festlegen des Stammbenutzerkennworts. Passen Sie die MySQL -Konfigurationsdatei nach Bedarf an. Tune MySQL -Parameter und optimieren Sie Datenbanken für die Leistung.
