Heim > Datenbank > MySQL-Tutorial > Beispiele zur Einführung in die Verwendung von MySQL-Indizes

Beispiele zur Einführung in die Verwendung von MySQL-Indizes

coldplay.xixi
Freigeben: 2020-12-11 17:34:16
nach vorne
8008 Leute haben es durchsucht

MySQL-TutorialSpaltenbeispiele erläutern die Verwendung von MySQL-IndizesBeispiele zur Einführung in die Verwendung von MySQL-Indizes

Weitere verwandte kostenlose Lernempfehlungen: MySQL-Tutorial(Video)

Verwendungsbeispiele für MySQL-Indizes

    • Eins . Langsames Abfrageprotokoll
    • 2. Abfrageanalysator – Erläuterung
    • 3. Grundlegende Verwendung des Index
    • 4. Zusammengesetzter Index
    • 5. Abdeckindex

1. Langsames Abfrageprotokoll

//查看是否开启慢查询日志
mysql> show variables like '%slow%';//临时开启慢查询日志
mysql> set global slow_query_log=ON;//查看是否开启慢查询日志
mysql> show variables like '%slow%';
Nach dem Login kopieren

Beispiele zur Einführung in die Verwendung von MySQL-Indizes

//查询超过多少时间就可以记录,上面是如果超过10秒就要记录
mysql> show variables like '%long%';//改成一秒,如果超过一秒就写到慢日志里面去(一般一秒是最好的)mysql> set long_query_time=1;//查看日记存储方式,默认FILE
mysql> show variables like '%log_output%';// 慢查询日志文件所在位置
mysql> show variables like '%datadir%';
Nach dem Login kopieren

Beispiele zur Einführung in die Verwendung von MySQL-Indizes

//响应时间是3秒,超过了原先设定的一秒
mysql> select sleep(3);
Nach dem Login kopieren

Beispiele zur Einführung in die Verwendung von MySQL-Indizes
Als wir den Ordner überprüften, stellten wir fest, dass er im langsamen Abfrageprotokoll gespeichert war. In diesem Teil wird erklärt, wie man langsameres SQL mithilfe des langsamen Protokolls findet Sagen Sie,

warum es langsam ist

und wie Sie es schneller machen können. Beispiele zur Einführung in die Verwendung von MySQL-Indizes

2. Abfrageanalysator – erklären

Funktion: Dadurch können Sie erkennen, wo die SQL langsam ist und welche Aspekte optimiert werden müssen

Spalte: Wir erstellen eine

Mitarbeiterdatentabelle

create table employee(
	id int not null auto_increment primary key,
	name varchar(30) comment '姓名',
	sex varchar(1) comment '性别',
	salary int comment '薪资(元)',
	dept varchar(30) comment '部门');insert into employee(name, sex, salary, dept) values('张三', '男', 5500, '部门A');insert into employee(name, sex, salary, dept) values('李洁', '女', 4500, '部门C');insert into employee(name, sex, salary, dept) values('李小梅', '女', 4200, '部门A');insert into employee(name, sex, salary, dept) values('欧阳辉', '男', 7500, '部门C');insert into employee(name, sex, salary, dept) values('李芳', '女', 8500, '部门A');insert into employee(name, sex, salary, dept) values('张江', '男', 6800, '部门A');insert into employee(name, sex, salary, dept) values('李四', '男', 12000, '部门B');insert into employee(name, sex, salary, dept) values('王五', '男', 3500, '部门B');insert into employee(name, sex, salary, dept) values('马小龙', '男', 6000, '部门A');insert into employee(name, sex, salary, dept) values('龙五', '男', 8000, '部门B');insert into employee(name, sex, salary, dept) values('冯小芳', '女', 10000, '部门C');insert into employee(name, sex, salary, dept) values('马小花', '女', 4000, '部门B');insert into employee(name, sex, salary, dept) values('柳峰', '男', 8800, '部门A');
Nach dem Login kopieren
//通过explain解读他,后面加一个\G便于阅读
mysql> explain select * from employee where name='柳峰'\G;//扫描快捷
mysql> explain select * from employee where id=13\G;
Nach dem Login kopieren

Effekt: Wie im Bild unten gezeigt, können Sie sehen, warum es vorher so langsam war und vier Sekunden Reaktionszeit erforderte

Beispiele zur Einführung in die Verwendung von MySQL-Indizes

Beispiele zur Einführung in die Verwendung von MySQL-Indizes3. Grundlegende Verwendung des Index

mysql> show index from employee\G;//主键会默认建一个id索引
Nach dem Login kopieren

Beispiele zur Einführung in die Verwendung von MySQL-IndizesVerbesserte Indexerstellungseffizienz

//查询分析
mysql> explain select * from employee where name='柳峰';//创建普通索引
mysql> create index idx_name on employee(name);
Nach dem Login kopieren

//删除
mysql> drop index idx_name on employee;
Nach dem Login kopieren
Beispiele zur Einführung in die Verwendung von MySQL-Indizes

Lehrerliste:

Beispiele zur Einführung in die Verwendung von MySQL-Indizes

Wenn Sie die Like-Suche verwenden, bleibt die Effizienz gleich, es hängt also davon ab, wie Sie sie verwenden

Beispiele zur Einführung in die Verwendung von MySQL-Indizes

Beispiele zur Einführung in die Verwendung von MySQL-Indizes 4. Zusammengesetzter Index

//查的时候可以看到一个主键索引
mysql> show index from employee\G;
Nach dem Login kopieren

Beispiele zur Einführung in die Verwendung von MySQL-IndizesDerzeit handelt es sich um einen globalen Scan e

5. Index abdecken Daten abfragen

select * from employee where name ='柳峰';//查询分析
explain select * from employee where name ='柳峰'\G;
Nach dem Login kopieren
Beispiele zur Einführung in die Verwendung von MySQL-Indizes

Nur ID prüfen

//创建索引
create index idx_name_salary_dept on employee(name,salary,dept);//查询分析
explain select * from employee where name ='柳峰'\G;
Nach dem Login kopieren
Beispiele zur Einführung in die Verwendung von MySQL-Indizes

// name和salary
mysql> explain select * from employee where name ='柳峰' and salary=8800\G;//name和dept
mysql> explain select * from employee where name ='柳峰' and dept='部门A'\G;
Nach dem Login kopieren

Beispiele zur Einführung in die Verwendung von MySQL-Indizes

Das obige ist der detaillierte Inhalt vonBeispiele zur Einführung in die Verwendung von MySQL-Indizes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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