Heim >Datenbank >MySQL-Tutorial >Der zweite Artikel stellt fortgeschrittenes MYSQL vor

Der zweite Artikel stellt fortgeschrittenes MYSQL vor

coldplay.xixi
coldplay.xixinach vorne
2021-02-05 07:57:381350Durchsuche

Der zweite Artikel stellt fortgeschrittenes MYSQL vor

Empfohlenes kostenloses Lernen: MySQL-Video-Tutorial

5 MySQL-Architektur

Der zweite Artikel stellt fortgeschrittenes MYSQL vor
Nachfolgend wählen wir einige der am häufigsten verwendeten Speicher-Engines für eine kurze Erklärung aus. Die von MySQL verwendete Speicher-Engine Es hat einen direkten Einfluss auf die Leistung der Datenbank. Ich hoffe auch, dass Sie einige der Eigenschaften der Speicher-Engine sorgfältig verstehen, bevor Sie die Speicher-Engine verwenden.

5.1 MyISAM

MyISAM war die Standardspeicher-Engine vor MySQL5.5. Aus diesem Grund verwenden immer noch viele Server die MyISAM-Speicher-Engine. Gleichzeitig ist MyISAM derzeit die Speicher-Engine, die von vielen Systemtabellen und temporären Tabellen verwendet wird. Die hier erwähnte temporäre Tabelle ist nicht die Tabelle, die wir über create table erstellen Beim Sortieren, Gruppieren und anderen Vorgängen wird vom Abfrageoptimierer eine temporäre Tabelle erstellt. create table创建出来的表,是指在排序、分组等操作中,当数量超过一定的大小之后,有查询优化器建立的临时表。
MyISAM存储引擎是由MYD和MYI组成,MYD是数据文件的扩展名,MYI是索引文件的扩展名,这个存储引擎是将表存储在以这两个为扩展名的数据文件和索引文件中。

特性:

  • 并发性与锁级别
    MyISAM使用的是表级锁,并不是行级锁,这也就意味着对表中的数据进行修改时,需要对整个表进行加锁,而在对表的读取时也对所有的表加共享锁,从这里我们可以看到,使用MyISAM做引擎的表读取和写入两种操作是互斥的。由此可以看到MyISAM对于读写的并发操作并不会很好。如果只对于只读取操作的话,就并发性而言,性能也还不错,因为共享锁不会阻塞共享锁。
  • 表损坏修复
    MyISAM支持由于任意意外关闭而损坏的MyISAM表,进行检查和修复操作,但是这里说的修复并不是数据的恢复,因为MyISAM并不是一种事务性的存储引擎,所以它不能进行事务恢复所需要的相关日志,所以要注意MyISAM表的恢复可能会造成数据的丢失。
    我们可以通过check table tablename对表进行检查,通过repair table tablename对表进行恢复。
  • MyISAM表支持的索引类型
    MyISAM支持全文索引,并且在mysql5.7版本之前唯一原生就支持全文索引的官方存储引擎。
  • MyISAM表支持数据压缩
    如果MyISAM表示一张很大的只读表,也就是在表创建完导入数据后,就不会对表进行任何修改操作了,那我们就可以对表进行压缩了,以减少磁盘I/O。 我们可以使用myisampack命令来对表进行压缩。压缩是对表独立进行压缩的,因此读取一行数据的时候,不必对整个表进行解压。

限制:

  • 版本
  • 如存储大表则要修改MAX_Rows 和 AVG_ROW_LENGTH
  • 版本 > mysql5.0时默认支持位256TB

适用场景:

  • 非事务性应用
  • 只读类应用(报表之类)
  • 空间类应用

5.2 Innodb

Innodb是MySQL5.5及之后版本默认的存储引擎,Innodb是事务存储的存储引擎,也就是说支持事务的处理。
Innodb有自己的表空间的概念,然后数据是存储在表空间之中的,是由innodb_file_per_table这个参数来决定的,如果这个参数为ON,则会对每个Innodb表建立一个扩展名为ibd的系统文件,如果这个参数为OFF时,则会把数据存储到系统的共享表空间,也就是ibdataXX代表的时一个数字,默认从1开始。
查看这个参数的命令为:
show variables like 'innodb_file_per_table';
修改这个参数的命令为:
set global innodb_file_per_table=off;

5.2.1 系统表空间和独立表空间要如何选择

比较:

Eigenschaften:
  • Parallelität und Sperrebene
MyISAM unterstützt die Überprüfung und Reparatur von MyISAM-Tabellen, die aufgrund eines unerwarteten Herunterfahrens beschädigt wurden. Bei der hier erwähnten Reparatur handelt es sich jedoch nicht um eine Datenwiederherstellung, da MyISAM keine Transaktionsspeicher-Engine ist und daher keine Leistung erbringen kann zugehörige Protokolle, die für die Transaktionswiederherstellung erforderlich sind. Beachten Sie daher, dass die Wiederherstellung von MyISAM-Tabellen zu Datenverlust führen kann. MyISAM unterstützt die Volltextindizierung und war die einzige offizielle Speicher-Engine, die die Volltextindizierung vor mysql5.7 nativ unterstützte.
  • MyISAM-Tabelle unterstützt Datenkomprimierung
  • Wenn MyISAM eine große schreibgeschützte Tabelle darstellt, das heißt, nachdem die Tabelle erstellt und die Daten importiert wurden, werden keine Änderungen an der Tabelle vorgenommen, dann können wir Tabellen erstellen werden komprimiert, um die Festplatten-E/A zu reduzieren. Wir können den Befehl myisampack verwenden, um die Tabelle zu komprimieren. Durch die Komprimierung wird die Tabelle unabhängig komprimiert, sodass beim Lesen einer Datenzeile nicht die gesamte Tabelle dekomprimiert werden muss. Einschränkungen:
    系统表空间 独立表空间
    无法简单的收缩文件大小 可以通过optimize table Die MyISAM-Speicher-Engine besteht aus MYD und MYI ist die Erweiterung der Datendatei, und MYI ist die Erweiterung der Indexdatei. Diese Speicher-Engine speichert Tabellen in Datendateien und Indexdateien mit diesen beiden Erweiterungen.
    MyISAM verwendet Sperren auf Tabellenebene, keine Sperren auf Zeilenebene. Dies bedeutet, dass beim Ändern der Daten in der Tabelle die gesamte Tabelle geändert werden muss. Sperren und Fügen Sie beim Lesen der Tabelle auch gemeinsame Sperren für alle Tabellen hinzu. Hier können wir sehen, dass sich die Lese- und Schreibvorgänge der Tabelle mit MyISAM als Engine gegenseitig ausschließen. Es ist ersichtlich, dass MyISAM bei gleichzeitigen Lese- und Schreibvorgängen nicht sehr gut ist. Wenn es sich nur um schreibgeschützte Vorgänge handelt, ist die Leistung im Hinblick auf die Parallelität nicht schlecht, da die gemeinsame Sperre die gemeinsame Sperre nicht blockiert.
  • Reparatur von Tabellenschäden
  • Wir können die Tabelle über check table table name überprüfen und die Tabelle über repair table table name wiederherstellen.
  • Von MyISAM-Tabellen unterstützte Indextypen
    • Die Standardtabellengröße für Version
    • Wenn Sie eine große Tabelle speichern, müssen Sie MAX_Rows ändern und AVG_ROW_LENGTH
    • Version> Die Standardunterstützung für mysql5.0 beträgt 256 TB
    🎜Anwendbare Szenarien:🎜
    • Nicht-transaktionale Anwendungen
    • Schreibgeschützte Anwendungen (Berichte usw.)
    • Räumliche Anwendungen
    🎜🎜5.2 Innodb🎜🎜🎜Innodb ist die Standardspeicher-Engine für MySQL5.5 und spätere Versionen die Speicher-Engine für die Transaktionsspeicherung. Mit anderen Worten: Sie unterstützt die Transaktionsverarbeitung. 🎜 Innodb verfügt über ein eigenes Konzept des Tabellenbereichs, und die Daten werden im Tabellenbereich gespeichert, der durch den Parameter innodb_file_per_table bestimmt wird. Wenn dieser Parameter ON ist, ist ein System Für jede Innodb-Tabelle wird eine Datei mit der Erweiterung ibd erstellt. Wenn dieser Parameter OFF ist, werden die Daten im gemeinsamen Tabellenbereich des Systems gespeichert >ibdataX, X stellt eine Zahl dar, die standardmäßig bei 1 beginnt. 🎜 Der Befehl zum Anzeigen dieses Parameters lautet: 🎜zeige Variablen wie „innodb_file_per_table“;🎜 Der Befehl zum Ändern dieses Parameters lautet: 🎜set global innodb_file_per_table=off;🎜🎜🎜 5.2.1 So wählen Sie zwischen Systemtabellenbereich und unabhängigem Tabellenbereich 🎜🎜🎜🎜Vergleich: 🎜🎜🎜🎜Die Dateigröße kann nicht einfach verkleinert werden🎜🎜Sie können die Systemdatei über den Befehl Tabelle optimieren verkleinern🎜🎜🎜🎜Es wird erstellt ein IO-Engpass🎜🎜Es können Daten zur Dateiaktualisierung gleichzeitig an mehrere Dateien gesendet werden🎜🎜🎜🎜

    Empfehlung:

    • Verwenden Sie einen unabhängigen Tabellenbereich für Innodb

    Methode zum Übertragen von Tabellen, die ursprünglich im Systemtabellenbereich vorhanden waren, in einen unabhängigen Tabellenbereich.
    Schritte:

    1. Verwenden Sie mysqldump, um alle Datenbanktabellendaten zu exportieren.
    2. Stoppen Sie den MySQL-Dienst, ändern Sie Parameter und löschen Sie Innodb-bezogene Dateien.
    3. Starten Sie den MySQL-Dienst neu, erstellen Sie den Innodb-Systemtabellenbereich neu 5.2.2 Funktionen der Innodb-Speicher-Engine Protokollimplementierung Die Haltbarkeit der Transaktion besteht aus zwei Teilen: Einer davon ist der persistente Arbeitsprotokollpuffer im Speicher, dessen Größe durch innodb_log_buffer_size bestimmt wird, und der andere ist die rekonstruierte Protokolldatei, bei der es sich um den ib_logflie handelt, den wir in der Datei sehen systembezogene Dokumente. Undo Log erkennt die Atomizität von Transaktionen und führt Rollback-Vorgänge durch, wenn Transaktionen fehlschlagen. Das Redo-Log wird nacheinander gelesen und geschrieben, und das Undo-Log wird nach dem Zufallsprinzip gelesen und geschrieben. Wenn möglich, können die Daten zur Verbesserung der Leistung auf einem Solid-State-Laufwerk gespeichert werden.
    4. Innodb unterstützt Sperren auf Zeilenebene. Sperren auf Zeilenebene unterscheiden sich. Das Merkmal von Sperren auf Zeilenebene besteht darin, dass sie die Parallelität weitgehend unterstützen können. Sperren auf Zeilenebene werden von der Speicher-Engine-Ebene implementiert . 5.2.3 Innodb-Statusprüfung Innodb unterstützt bereits die Volltextindizierung und räumliche Funktionen.

    5.2.4 (Erweitert) Was ist eine Sperre

    5.2.3.1 Was ist eine Sperre?
    • Die Hauptfunktion von Sperren besteht darin, den gleichzeitigen Zugriff auf gemeinsam genutzte Ressourcen zu verwalten.
    • Sperren werden verwendet, um Transaktionsisolation zu erreichen.

    • 5.2.3.2 Arten von Sperren:

    • Gemeinsame Sperren (auch Lesesperren genannt). (Auch Write Lock genannt)

    5.2.3.3 Kompatibilitätsbeziehung zwischen Schreibschloss und Lesesperre (Kompatibilität für eine Zeile)


    show engine innodb status

    Write Lock

    read Lock

    Write Lock
    • Nicht kompatibel
    • Nicht kompatibel

    Lesesperre
    • Nicht kompatibel
    • Kompatibel

    In tatsächlichen Situationen können die Ergebnisse von den Ergebnissen in der obigen Tabelle abweichen, hauptsächlich weil der Sperrmechanismus in Innodb sehr komplex ist und es viele Sperren gibt, die sich auf das Endergebnis auswirken. 5.2.3.4 Sperrgranularität: Sperren auf Tabellenebene In einer Transaktion muss darauf gewartet werden, dass die Sperre einer anderen Transaktion freigegeben wird, und die von ihr belegten Ressourcen bilden eine Blockierung.

    Deadlock: Deadlock bezieht sich auf eine Ausnahme, die auftritt, wenn zwei oder mehr Transaktionen die Ressourcen belegen, auf die die andere Partei während der Ausführung der Transaktion wartet. Wie aus der Definition hervorgeht, belegen mehrere blockierte Transaktionen die Ressourcen, auf die die blockierte Transaktion wartet, und ein Deadlock liegt vor, wenn mehrere blockierte Transaktionen die Ressourcen belegen, auf die die jeweils andere wartet.

      5.3 CSV-Speicher-Engine
    • Die CSV-Speicher-Engine kann CSV-Dateien als MySQL-Tabellendateien verarbeiten. Die Datenspeichermethode der CSV-Speicher-Engine ist sehr einzigartig Wenn wir die Tabelle in MyISAM oder Innodb speichern, können wir die Datendateien nicht direkt anzeigen, da diese beiden Dateien im Binärformat gespeichert sind, während die CSV-Speicher-Engine im Binärformat gespeichert ist. Das heißt, wir können die Datei über den Befehl anzeigen, z. B. mehr, oder den Befehl vi verwenden, um die Tabelle in der CSV-Speicher-Engine anzuzeigen und zu bearbeiten. Solange sie dem Format und den Anforderungen der CSV-Datei entspricht. Wir müssen uns keine Sorgen über beschädigte Daten machen.
    • Wenn wir die CSV-Speicher-Engine-Tabelle in MySQL erstellen, sollten wir die Dateien in den 3 Dateisystemen sehen können. Diese drei Dateinamen basieren alle auf dem Tabellennamen, haben jedoch jeweils die Suffixe csv, csm und frm. Die CSV-Datei ist die Datendatei in der CSV-Speicher-Engine. Die CSM-Datei speichert die Metadaten der Tabelle sowie den Tabellenstatus und das Datenvolumen. In der FRM-Datei werden Informationen zur Tabellenstruktur gespeichert.

    5.3.1 Funktionen der CSV-Speicher-Engine


    Die größte Funktion ist die Datenspeicherung im CSV-Format Jede Spalte in CSV ist durch , getrennt und der Inhalt des Textes ist eingeschlossen in doppelten Anführungszeichen, wie unten gezeigt: at Bildbeschreibung hier einfügen

    Alle Spalten müssen ungleich NULL sein
    Beim Erstellen einer Tabelle müssen alle Spalten ungleich NULL sein und können nicht als NULL-Werte gespeichert werden

    Unterstützt keine Indizes Nicht für große Tabellen geeignet

    Kann Datendateien direkt bearbeiten.
      Textdateiinhalt speichern. php.cn/upload/article/000/000/052/e6a22a66b92309eb34516846e0267a53-2.png" alt="Bildbeschreibung hier einfügen"/>
    • Der zweite Artikel stellt fortgeschrittenes MYSQL vor
    • 所有列必须都是不能为NULL的
      在建表的时候所有的列都必须是非空的,不能存储为NULL的值
    • 不支持索引
      不适合大表,不适合在线处理
    • 可以对数据文件直接编辑
      保存文本文件内容

    5.3.2 CSV存储引擎的适用场景

    CSV存储引擎适合作为数据交换的中间表
    Der zweite Artikel stellt fortgeschrittenes MYSQL vor
    Der zweite Artikel stellt fortgeschrittenes MYSQL vor

    5.4 Archive存储引擎

    5.4.1 文件系统存储特点

    Archive存储引擎会缓存所有的写,并且利用zlib对插入的行进行压缩,因此Archive存储引擎相对于MyISAM存储引擎的表更加节省磁盘I/O,对于同样数量级的数据,Archive存储引擎相对于MyISAM和Innodb更加节省存储空间。一个几T的Innodb的表存储在Archive存储引擎当中,可能只需要几百兆的存储空间。
    Archive存储引擎的表的数据是以ARZ为后缀的一个文件,和其他引擎一样,也存在一个以frm为后缀的系统文件,用于存储表的结构信息。

    5.4.2 Archive存储引擎的特点

    • 只支持insertselect
    • 5.4.1 Dateisystem-Speicherfunktionen

    schreibt und verwendet zlib, um eingefügte Zeilen zu komprimieren. Daher spart die Archivspeicher-Engine im Vergleich zu den Tabellen der MyISAM-Speicher-Engine Datenträger-E/A MyISAM-Tabellen sparen mehr Speicherplatz. Eine mehrere Terabyte große Innodb-Tabelle, die in der Archivspeicher-Engine gespeichert ist, benötigt möglicherweise nur einige hundert Megabyte Speicherplatz. Die Tabellendaten der Archivspeicher-Engine sind eine Datei mit dem Suffix ARZ. Wie bei anderen Engines gibt es auch eine Systemdatei mit dem Suffix frm, die zum Speichern der Strukturinformationen der Tabelle verwendet wird. 5.4.2 Funktionen der Archiv-Speicher-Engine 5.4.3 Nutzungsszenarien für die Archivspeicher-Engine

    Szenario 1: Protokoll- und Datenerfassungsdaten
    Da das Archiv das Ändern und Löschen nicht unterstützt, ändert unser ORDB die Daten auf jeden Fall, für einige Lagertypanwendungen oder einige spezielle Tabellen jedoch immer noch nützlich, wie z. B. Protokollierungstabellen oder Datenerfassungstabellen. Da sie große Datenmengen sammeln müssen, ist die Archivspeicher-Engine besser geeignet. Da die Archivspeicher-Engine unter allen Engines über den kleinsten Speicherplatz verfügt, ist zu beachten, dass die Archivspeicher-Engine diese Daten auch in Datenerfassungs- oder Protokollierungsanwendungen nicht aktualisieren kann, z. B. beim Aufzeichnen von Protokollen oder wenn Sie die Daten in einer Datensammlung ändern Wenn Sie eine Anwendung verwenden, können Sie die Archivspeicher-Engine möglicherweise nicht verwenden.

    5.5 Speicher-Engine

    5.5.1 Dateisystem-Speicherfunktionen

    Die Speicher-Engine wird auch als HEAP-Speicher-Engine bezeichnet. Dies bedeutet, dass die Datentabelle gelöscht wird. Sobald der MySQL-Dienst neu gestartet wird, verschwinden alle Daten der Speicher-Engine, die Struktur bleibt jedoch bestehen bleibt erhalten, da beim Erstellen einer Tabelle unter der Speicherspeicher-Engine nur eine FRM-Systemdatei generiert wird, die zum Speichern der Tabellenstruktur verwendet wird. Aus diesem Grund gehen beim Neustart des MySQL-Servers Daten verloren, die Tabellenstruktur jedoch nicht.
    Anhand der Dateispeichereigenschaften können wir erkennen, dass die E/A-Effizienz der Speicherspeicher-Engine viel höher ist als die von MyISAM, da nur der Index von MyISAM im Speicher gespeichert wird und die Daten vom Betriebssystem zwischengespeichert werden Während die Speicher-Engine Daten und Indizes im Speicher speichert, werfen wir einen Blick auf die Funktionen der Speicher-Engine.

    5.5.2 Funktionsmerkmale von Memory Wenn Sie eine Bereichsabfrage durchführen, können Sie den HASH-Index nicht verwenden. Daher müssen wir beim Erstellen der Tabelle aufpassen. Wenn die Tabelle eine große Anzahl gleichwertiger Abfragen erfordert, verwenden Sie den HASH-Index und für Bereichsabfragen den BTree-Index. Verschiedene Indextypen können einen großen Einfluss auf die Leistung haben. Alle Felder haben eine feste Länge varchar(10) = char(10)

    Dies erfordert, dass wir bei der Definition der Tabellenstruktur die Mindestanforderungen an die Feldlänge erfüllen, da sonst viel Speicher verschwendet wird.

    Unterstützt keine großen Felder wie BLOG und TEXT
    • Speicher-Engine verwendet Sperren auf TabellenebeneDie maximale Größe wird durch den Parameter max_heap_table_size bestimmtDer Standardwert dieses Parameters beträgt nur 16 Megabyte, wenn wir speichern möchten Eine große Datenmenge in der Tabelle der Speicher-Engine muss geändert werden. Diese Parameteränderung hat keine Auswirkungen auf die vorhandene Tabelle der Speicher-Engine. Wenn Sie sie auf die vorhandene Tabelle anwenden müssen, müssen Sie dies tun Erstellen Sie die vorhandene Tabelle neu.
    • 5.5.3 Leicht verwechselbare Konzepte im Speicher
    • Speicher-Engine-Tabelle:
    • Kann in allen Systemen verwendet werden, es handelt sich nicht um eine temporäre Tabelle.
    • Temporäre Tabelle:
    • Es gibt zwei Arten von temporären Tabellen, die vom System verwendet werden, wenn der Abfrageoptimierer die Abfrage optimiert. Das System verwendet die temporäre Tabelle, wenn der Grenzwert überschritten wird Große BLOB- oder TEXT-Felder), verwenden Sie die temporäre MyISAM-Tabelle und verwenden Sie die Speichertabelle, ohne das Limit zu überschreiten.
    • Die andere ist eine temporäre Tabelle, die mit dem Befehl temporäre Tabelle erstellen erstellt wurde. Die erstellte Tabelle kann jede Speicher-Engine verwenden.
      Egal um welche Art temporäre Tabelle es sich handelt, sie ist nur intern sichtbar.

    5.5.4 Speichernutzungsszenarien

    Wird zum Nachschlagen oder Zuordnen von Tabellen verwendet, z. B. Postleitzahlen- und Regionskorrespondenztabellen.

    Wird zum Speichern von Zwischentabellen verwendet, die während der Datenanalyse generiert wurden.

    Wird zum Zwischenspeichern der Ergebnisse der periodischen Aggregation verwendet Datentabellecreate temporary table建立的临时表,建立的表可以使用任何存储引擎。
    无论是哪种临时表,只对内部可见。

    5.5.4 Memory的使用场景

    • 用于查找或者映射表,例如邮编和地区的对应表
    • 用于保存数据分析中产生的中间表
    • 用于缓存周期聚合数据的结果表

    Memory数据易丢失,所以要求数据可再生。

    5.6 Federated存储引擎

    5.6.1 Federated的特点

    • 提供了访问远程MySQL服务器上表的方法
      由于Federated存储引擎只是在本地建立了到远程服务器的一个连接,所以可以说我们所要访问的表全部还是放在远程服务器上,在本地并不存储数据。每次访问Federated存储引擎表的时候,查询都会被发送到远程服务器上运行,并从远程的MySQL服务器上获取相关的数据。
    • 本地不存储数据,数据全部放到远程服务器上
    • 本地需要保存表结构和远程服务器的连接信息
      因此也会在系统中存在一个frm文件,用于存于远程信息以及如何连接远程表的相关信息。

    5.6.2 Federated如何使用

    Federated存储引擎可以实现SQL Server连接服务器的功能,但是由于本身的性能并不太好,通常可以通过复制等实现相同的目的,所以在当前的MySQL版本中,Federated存储引擎默认是禁止的。如果需要使用Federated存储引擎,则需要在/usr/local/mysql/my.cnf中加入federated=1,接着重启MySQL服务器,我们可以通过show engine来确认当前MySQL服务器是否支持Federated存储引擎。
    而在create table语句中使用下面的连接字符串,
    mysql://user_name[:password]@host_name[:port_num]/db_name/tbl_name
    远程服务器绑定连接:
    grant select,update,insert,delete on remote.remote_fet to fred_link@'127.0.0.1' identified by '123456'

    Speicherdaten gehen leicht verloren, daher müssen die Daten reproduzierbar sein. 5.6 Federated Storage Engine

      5.6.1 Funktionen von Federated Man kann sagen, dass alle Tabellen, auf die wir zugreifen möchten, immer noch auf dem Remote-Server abgelegt sind und keine Daten lokal gespeichert sind. Bei jedem Zugriff auf eine Federated Storage Engine-Tabelle wird die Abfrage zur Ausführung an den Remote-Server gesendet und die relevanten Daten werden vom Remote-MySQL-Server abgerufen.

    • Keine Daten werden lokal gespeichert, alle Daten werden auf dem Remote-Server abgelegt
    Die Tabellenstruktur und die Verbindungsinformationen des Remote-Servers müssen lokal gespeichert werden

    Daher gibt es im System auch eine FRM-Datei zum Remote-Speichern Informationen und Informationen zum Herstellen einer Verbindung zur Remote-Tabelle.

    5.6.2 Verwendung von Federated

    🎜🎜Die Federated-Storage-Engine kann die Funktion einer SQL Server-Verbindung zum Server realisieren. Aufgrund ihrer eigenen Leistung kann jedoch normalerweise derselbe Zweck erreicht werden Replikation usw., daher ist in der aktuellen MySQL-Version die Federated Storage Engine standardmäßig deaktiviert. Wenn Sie die Federated Storage Engine verwenden müssen, müssen Sie federated=1 zu /usr/local/mysql/my.cnf hinzufügen und dann den MySQL-Server neu starten. Wir können show engine übergeben, um zu bestätigen, ob der aktuelle MySQL-Server die Federated Storage Engine unterstützt. 🎜 Und verwenden Sie die folgende Verbindungszeichenfolge in der create table-Anweisung: 🎜mysql://user_name[:password]@host_name[:port_num]/db_name/tbl_name🎜 Remote Server Bindungsverbindung: 🎜grant select,update,insert,delete on remote.remote_fet to fred_link@'127.0.0.1' identifiziert durch '123456'🎜 Sie können die relevanten Informationen des Remote-Servers ermitteln, die abgefragt werden sollen und einige Informationen zu verwandten Datenbanktabellen. 🎜🎜🎜5.6.3 Anwendbare Szenarien von Federated🎜🎜🎜🎜Gelegentliche statistische Analyse und manuelle Abfrage🎜 Aufgrund der langsamen Leistung von Federated ist es nur für gelegentliche statistische Analysen und manuelle Abfragen geeignet. 🎜🎜🎜🎜6 So wählen Sie die richtige Speicher-Engine aus🎜🎜🎜Referenzbedingungen: 🎜
    • Transaktionen
    • Backup
    • Crash-Recovery
    • Einzigartige Funktionen von Speicher-Engines
      Vermeiden Sie die Vermischung von Speicher-Engines.
    Systemtabellenbereich Unabhängig Tabellenbereich🎜

    Das obige ist der detaillierte Inhalt vonDer zweite Artikel stellt fortgeschrittenes MYSQL vor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen