Ich las über die Umstrukturierung einer großen langsamen SQL-Abfrage über aquí und die derzeit höchste Antwort kommt von Mitch Wheat, der sicherstellen möchte, dass die Abfrage Indizes für die wichtigsten Selects und Erwähnungen verwendet:
Als erstes würde ich prüfen, ob ein aktiver Indexwartungsauftrag regelmäßig ausgeführt wird. Wenn dies nicht der Fall ist, sollten Sie alle bestehenden Indizes neu erstellen oder, falls dies nicht möglich ist, zumindest die Statistiken aktualisieren.
Ich bin nur ein Amateur-DBA, und ich habe ein paar Programme freiberuflich gemacht, die im Grunde Java-Desktop-Clients und gelegentlich ein MySQL-Backend sind. Wenn ich das System einrichten, ich weiß, um einen Index auf die Spalten zu erstellen, die von abgefragt werden, gibt es eine varchar CaseID und eine varchar CustName.
Ich habe dieses System jedoch vor Monaten eingerichtet und es dem Kunden überlassen, es zu bedienen, und ich glaube, dass die Indizes mit den eingegebenen Daten wachsen sollten, und ich glaube, dass alles noch gut funktioniert. Ich bin jedoch besorgt, dass die Indizes regelmäßig neu aufgebaut werden sollten, denn heute habe ich gelesen, dass es einen "aktiven Wartungsjob" geben sollte. Der einzige Wartungsjob, den ich eingestellt habe, war ein nächtliches Backup.
Ich wollte die Community fragen, welche regelmäßigen Wartungsarbeiten an einer Datenbank erforderlich sein könnten. Ist es notwendig, die Indizes neu zu erstellen? Kann ich darauf vertrauen, dass das MySQL-Backend weiterläuft, solange niemand daran herumpfuscht und die Daten unter ein paar Gigabyte bleiben?