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 INSERTs o JOINs?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top