Heim >Datenbank >MySQL-Tutorial >Begrenzen Sie die Optimierung in MySQL
"Abschließend beginnen wir mit der Optimierung von MySQL. In diesem Artikel wird die Optimierung von Paging erläutert. Ich hoffe, ich kann eine Lösung finden, die zu Ihnen passt
"
Das Thema Paging ist bereits ein Klischee, aber wie viele Freunde möchten ihre eigenen Systeme optimieren und gleichzeitig ihre eigene einzigartige Persönlichkeit in Projekten bewahren?
Optimierung erfordert, dass Sie selbst die Initiative ergreifen und Ihre eigenen Testdaten erhalten. Erst auf dem Weg zum Testen werden Sie weitere Dinge entdecken, die Sie nicht wissen.
In diesem Artikel wird auch das Thema Paginierungsoptimierung erläutert.
Diese Datenbankstruktur ist die Tabelle von Kakas aktuellen Online-Projekten, mit der Ausnahme, dass Kaka die Feldnamen geändert und das Zeitfeld gestrichen hat.
Die Datenbankstruktur ist wie folgt
<span style="display: block; background: url(https://files.mdnice.com/point.png); height: 30px; width: 100%; background-size: 40px; background-repeat: no-repeat; background-color: #282c34; margin-bottom: -7px; border-radius: 5px; background-position: 10px 10px;"></span><code class="hljs" style="overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;"><span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">CREATE</span> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">TABLE</span> <span class="hljs-string" style="color: #98c379; line-height: 26px;">`tp_statistics`</span> (<br/> <span class="hljs-string" style="color: #98c379; line-height: 26px;">`ss_id`</span> <span class="hljs-built_in" style="color: #e6c07b; line-height: 26px;">int</span>(<span class="hljs-number" style="color: #d19a66; line-height: 26px;">11</span>) <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">NOT</span> <span class="hljs-literal" style="color: #56b6c2; line-height: 26px;">NULL</span> AUTO_INCREMENT,<br/> <span class="hljs-string" style="color: #98c379; line-height: 26px;">`ss_field1`</span> <span class="hljs-built_in" style="color: #e6c07b; line-height: 26px;">decimal</span>(<span class="hljs-number" style="color: #d19a66; line-height: 26px;">11</span>,<span class="hljs-number" style="color: #d19a66; line-height: 26px;">2</span>) <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">NOT</span> <span class="hljs-literal" style="color: #56b6c2; line-height: 26px;">NULL</span> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">DEFAULT</span> <span class="hljs-string" style="color: #98c379; line-height: 26px;">'0.00'</span>,<br/> <span class="hljs-string" style="color: #98c379; line-height: 26px;">`ss_field2`</span> <span class="hljs-built_in" style="color: #e6c07b; line-height: 26px;">decimal</span>(<span class="hljs-number" style="color: #d19a66; line-height: 26px;">11</span>,<span class="hljs-number" style="color: #d19a66; line-height: 26px;">2</span>) <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">NOT</span> <span class="hljs-literal" style="color: #56b6c2; line-height: 26px;">NULL</span> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">DEFAULT</span> <span class="hljs-string" style="color: #98c379; line-height: 26px;">'0.00'</span>,<br/> <span class="hljs-string" style="color: #98c379; line-height: 26px;">`ss_field3`</span> <span class="hljs-built_in" style="color: #e6c07b; line-height: 26px;">decimal</span>(<span class="hljs-number" style="color: #d19a66; line-height: 26px;">11</span>,<span class="hljs-number" style="color: #d19a66; line-height: 26px;">2</span>) <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">NOT</span> <span class="hljs-literal" style="color: #56b6c2; line-height: 26px;">NULL</span> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">DEFAULT</span> <span class="hljs-string" style="color: #98c379; line-height: 26px;">'0.00'</span>,<br/> PRIMARY <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">KEY</span> (<span class="hljs-string" style="color: #98c379; line-height: 26px;">`ss_id`</span>)<br/>) <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">ENGINE</span>=<span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">InnoDB</span> AUTO_INCREMENT=<span class="hljs-number" style="color: #d19a66; line-height: 26px;">3499994</span> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">DEFAULT</span> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">CHARSET</span>=utf8 <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">COLLATE</span>=utf8mb4_general_ci ROW_FORMAT=<span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">COMPACT</span>;<br/><br/></code>
Anhand der obigen Informationen können wir sehen, dass die Tabelle derzeit 3,5 Millionen Datensätze enthält. Als nächstes werden wir die Abfrage für diese 3,5 Millionen Datensätze optimieren .
Schreiben wir zunächst eine Abfrage-SQL-Anweisung und werfen wir einen Blick auf die von der Abfrage verbrauchte Zeit.
Anhand der folgenden Abbildung können Sie sehen, dass die Abfragezeit grundsätzlich ignoriert wird. Was jedoch beachtet werden sollte, ist der Offsetwert des Grenzwerts.
Wir müssen also den Offset schrittweise erhöhen und dann testen. Ändern Sie zunächst den Offset auf 10000.
Sie sehen, dass die Abfragezeit immer noch sehr ideal ist.
Um Zeit zu sparen, klicken Sie auf und passen Sie den Offset-Wert direkt auf 340 W an.
Zu diesem Zeitpunkt sind sehr deutliche Änderungen zu erkennen, die Abfragezeit hat sich auf 0,79 Sekunden erhöht.
Wenn eine solche Situation auftritt, muss sie unbedingt optimiert werden. Nehmen Sie einfach die Tastatur in die Hand und führen Sie sie aus. 3. Analysieren der Gründe, warum Abfragen Zeit brauchen Schauen Sie sich den grundlegenden Teil von MySQL an.
Das obige ist der detaillierte Inhalt vonBegrenzen Sie die Optimierung in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!