MySQL Visualizza prestazioni per scopi alias
-
29-09-2020 - |
Domanda
Quindi sto lavorando su un progetto di rotaie e ho un database legacy, che viene utilizzato da altre applicazioni, quindi la sua struttura non può essere modificata. Il problema è che i nomi delle tabelle e delle colonne non seguono le convenzioni dei binari.Una soluzione comune a quella è creare viste mysql che solo le colonne di alias correttamente.
Queste sono semplici viste morte che hanno solo
SELECT old_column_1 AS new_column_1, old_column_2 AS new_column_2 FROM table_name;
.
Alcune tabelle sono davvero grandi, come 22 milioni di righe (2GIB).Tutte le tabelle sono MYISAM
.Inoltre c'è una tabella MEMORY
con 2 milioni di righe (~ 350 MIB)
La domanda chiave è quanto un sovraccarico che ottengo con tali punti di vista e lo fa in qualsiasi modo avere un impatto ROW LOCK
o TABLE LOCK
durante INSERT
s o JOIN
s?
Soluzione
ymmv.Visualizzazioni A volte non riescono a fare le stesse ottimizzazioni, portando a un'esecuzione più lenta rispetto all'esecuzione del SELECT
direttamente.Dal momento che il tuo caso è semplice, probabilmente non comporterà un sovraccarico notevole.
INSERTs
attraverso un VIEW
ha limiti;Sembra che non li colpirai.Leggi il manuale.
JOINs
è un luogo in cui l'ottimizzatore può cadere la palla;Ti suggeriscono di sperimentare offline con quello, prima di impegnarmi a fare il cambiamento.