Heim > Datenbank > MySQL-Tutorial > Hinweise zur MySQL-Optimierung

Hinweise zur MySQL-Optimierung

coldplay.xixi
Freigeben: 2020-12-16 09:31:58
nach vorne
2203 Leute haben es durchsucht

Einführung in die Optimierungsmethode von MySQL

Empfohlen (kostenlos): Hinweise zur MySQL-Optimierung

Mysql-Video-Tutorial Lernnotizen aufzeichnen, ständig aktualisiert.

Optimierungsrichtung

SQL-Optimierung

SQL-Optimierungsanalyse

Indexoptimierung
  1. Datenbankobjekte optimieren

Datentyp der Tabelle optimieren

Tabellenaufteilung. (horizontal) ontal, vertikal)
  1. Anti-Paradigma
  2. Zwischentabellen verwenden
  3. MySQL-Server optimieren

MySQL-Speicherverwaltungsoptimierung

Protokollmechanismus und -Optimierung
  1. MySQL-Parallelitätsparameter anpassen
  2. Anwendungsoptimierung

Datenbankverbindungspool

Cache reduzieren den Druck
  1. Lastausgleich schafft Cluster
  2. Master-Master-Synchronisation, Master-Slave-Replikation
  3. MySQL-Optimierungsproblemanalyse und -positionierung

SQL-Ausführungshäufigkeit analysieren

show status

例如:分析读为主,还是写为主
Nach dem Login kopieren

Lokalisieren. SQL mit niedrig Ausführungseffizienz etion

慢查询日志定位-log-slow-queries = xxx(指定文件名)SHOW PROCESSLIST查看当前正在进行的线程,包括线程状态、是否锁表
Nach dem Login kopieren

Mysq-Indizes kann in Situationen verwendet werden, in denen Indizes nicht verwendet werden können

Datenbankobjekte optimieren

Optimieren Sie den Tabellendatentyp
explain "your sql"desc "your sql"- 部分参数分析
select_type: SIMPLE 简单表,不使用表连接或子查询PRIMARY 主查询,即外层的查询UNION SUBQUER 子查询的第一个select

type: ALL 全表扫描
index 索引全扫描
range 索引范围扫描
ref 使用非唯一索引或唯一索引的前缀扫描
eq_ref 类似ref,使用的索引是唯一索引const/system 单表中最多有一个匹配行NULL 不用访问表或者索引,直接得到结果
Nach dem Login kopieren

Tabellenaufteilung
select @@have_profiling 是否支持
select @@profiling 是否开启

执行 "your sql"show profiles 
show profile block io for QUERY 17
Nach dem Login kopieren

Anti-Paradigma
B-TREE索引:常见,大部分都支持HASH索引:只有memory引擎支持R-TREE索引:空间索引是MyISAM的一个特殊索引类型,主要用于地理空间数据类型
full-text索引:全文索引,MyISAM的一个特殊索引类型,innodb从5.6开始支持
Nach dem Login kopieren

unter Verwendung von Zwischentabellen
添加索引ALTER Table `table_name` ADD PRIMARY KEY(`column`)ALTER Table `table_name` ADD UNIQUE(`column`)ALTER Table `table_name` ADD INDEX(`column`)ALTER Table `table_name` ADD FULLTEXT(`column`)

删除ALTER Table `table_name` drop index index_name
Nach dem Login kopieren

MySQL-Engine-Vergleich

Welche Engine hat MySQL?

Über Tabellen-Engine-Befehle

匹配全值
匹配值范围查询
匹配最左前缀
仅仅对索引进行查询(覆盖查询)
匹配列前缀 (添加前缀索引)
部分精确+部分范围
Nach dem Login kopieren

Über innodb

以%开关的like查询
数据类型出现隐式转换
复合索引查询条件不包含最左部分
使用索引仍比全表扫描慢
用or分割开的条件
Nach dem Login kopieren

Über MyISAM

optimize table table_name 合并表空间碎片,对MyISAM、BDB、INNODB有效

如果提示不支持,可以用 mysql --skip-new 或者 mysql --safe-mode 来重启,以便让其他引擎支持
Nach dem Login kopieren

Passen Sie Parameter an, um den MySQL-Hintergrunddienst zu optimieren

MyISAM-Speicheroptimierung

尽量避免全表扫描,对where及orderby的列建立索引
尽量避免where使用 != 或 <>尽量避免where子句用 or 连接条件
乱用%导致全表扫描
尽量避免where子句对字段进行表达式操作
尽量避免where子句对字段进行函数操作
覆盖查询,返回需要的字段
优化嵌套查询,关联查询优于子查询
组合索引或复合索引,最左索引原则
用exist代替in当索引列有大量重复数据时,SQL查询可能不会去利用索引
Nach dem Login kopieren

InnoDB Speicheroptimierung

MySQL-Parallelitätsparameter

PROCEDURE ANALYSE (16,256) 排除多于16个,大于256字节的ENUM建议"your sql" PROCEDURE ANALYSE ()
Nach dem Login kopieren

Einführung in die MySQL-Anwendungsoptimierung

Warum müssen wir eine Anwendungsoptimierung durchführen? Die Bedeutung von Daten

MySQL-Dienst und seine eigene Leistung Hälse Stellen Sie die Stabilität und Zuverlässigkeit großer Systeme sicher. Führen Sie

MySQL 优化笔记

Optimierungsmethode an

Verwenden Sie den Verbindungspool

, um die tatsächliche Verbindung zu MySQL zu reduzieren a. Vermeiden Sie die wiederholte Ausführung derselben Daten (Abfragecache). ) b. MySQL-Cache (SQL-Cache) verwenden

Lastausgleich a. Lese- und Schreibtrennung (Master-Master-Replikation, Master-Slave-Replikation gewährleistet Datenkonsistenz)

Datenbank Verbindungspoolphp-cp-Erweiterung, notieren Sie dies einfach. Diese Lösung ist möglicherweise veraltet

Master-Slave-Backup und Lese-/Schreib-Trennung

Master-Master-Backup

Lastausgleich

Verwandte kostenlose Lernempfehlungen: php-Programmierung (Video)

Das obige ist der detaillierte Inhalt vonHinweise zur MySQL-Optimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage