È possibile assegnare una priorità inferiore a una query in MySQL simile al comando nice
sulla riga di comando (in Linux)? In caso contrario, ci sono database che possono fare qualcosa del genere?Query a bassa priorità in Mysql
risposta
È possibile utilizzare il LOW_PRIORITY
o HIGH_PRIORITY
nelle query in base al tipo di query si esegue:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] INTO ...
SELECT [HIGH_PRIORITY] * FROM ...
UPDATE [LOW_PRIORITY] table ...
Dal Mysql 5.7 documentation per la query INSERT
per esempio:
Se si utilizza il Parola chiave LOW_PRIORITY, l'esecuzione di INSERT viene ritardata fino a quando nessun altro client non sta leggendo dalla tabella. Ciò include altri client che hanno iniziato a leggere mentre i client esistenti stanno leggendo e mentre l'istruzione INSERT LOW_PRIORITY è in attesa. È quindi possibile che un client che emette un'istruzione INSERT LOW_PRIORITY attenda per un tempo molto lungo.
Ma è anche detto:
Questo influenza motori di archiviazione solo che utilizzano solo blocco a livello di tabella (come MyISAM, MEMORY, MERGE)
Quindi hai vinto' Per esempio, è possibile utilizzare questa funzionalità con innodb
, a meno che non si desideri utilizzare LOCK_TABLES
e quindi ridurne le prestazioni.
I [leggi qui sul dba stackexchange] (http://dba.stackexchange.com/a/56379/8378) che una query LOW_PRIORITY non può mai essere eseguita se il tuo DB è sempre occupato in esecuzione normale o Query HIGH_PRIORITY ... quindi spunti di riflessione! –
Questa risposta afferma che è possibile utilizzare LOW_PRIORITY per INSERT, SELECT e UPDATE. A partire da MySQL 5.7, questa opzione non è disponibile per le istruzioni SELECT. Vedi https://dev.mysql.com/doc/refman/5.7/en/select.html – ChrisInEdmonton
@ChrisInEdmonton Grazie, ho corretto la mia risposta. 'LOW_PRIORITY' non è possibile nelle query' SELECT' (e non solo in 5.7), [ma 'HIGH_PRIORITY' è] (https://dev.mysql.com/doc/refman/5.7/en/select.html) – julienc
- 1. Aggiornamenti a bassa priorità su MySQL utilizzando JDBC - come verificare se funzionano
- 2. compiti in esecuzione in background con priorità più bassa CPU
- 3. Priorità bassa dimensione per la navigazione cassetto intestazione
- 4. Come si avvia un processo con bassa priorità? C#
- 5. Posso impostare il lavoro iniziale di PowerShell con bassa priorità?
- 6. Bassa velocità di scrittura JDBC da Spark a MySQL
- 7. C'è un modo per impostare un web worker a bassa priorità?
- 8. Priorità della connessione al database PHP/MySQL?
- 9. Query Mysql async più query
- 10. php mysql query prima lettera! = [A-z]
- 11. ordine di priorità
- 12. Truncate Slow Query Accedi a MySQL
- 13. MySQL: ritorno a capo nella query
- 14. Convertire MySQL Query a Rails ActiveRecord query senza utilizzare find_by_sql
- 15. Query da convertire da datetime a mysql
- 16. MySQL Query Optimization - query interne
- 17. Libreria di rete Java leggera e a bassa latenza?
- 18. Determinare se il thread corrente ha bassa priorità di I/O
- 19. Imposta priorità su NSOperationQueue
- 20. Coda priorità doppia priorità
- 21. Come eseguire a livello di programmazione un comando con priorità bassa priorità IO e alto valore di gradevolezza su OS X
- 22. Come dare priorità a determinate domande?
- 23. Ant 1.8.0 bassa prestazione
- 24. Applicare query mysql a ciascuna tabella in un database
- 25. Api audio a bassa latenza per Android?
- 26. Query MySQL nidificate
- 27. query SELECT mySQL complessa?
- 28. gruppo Ansible vars priorità
- 29. query mysql contro jolly
- 30. MySQL Query String contiene
Quale problema vuoi risolvere? – VMai
MySQL ha ottenuto il contrario: _HIGH_PRIORITY conferisce alla SELECT una priorità più alta di un'istruzione che aggiorna una tabella. Si dovrebbe usare questo solo per le query che sono molto veloci e devono essere fatte in una sola volta. Una query SELECT HIGH_PRIORITY che viene emessa mentre la tabella è bloccata per la lettura viene eseguita anche se è presente un'istruzione di aggiornamento in attesa che la tabella sia libera. Ciò riguarda solo i motori di memorizzazione che utilizzano solo il blocco a livello di tabella (come MyISAM, MEMORY e MERGE) ._ source: pagina manuale di [SELECT] (https://dev.mysql.com/doc/refman/5.6/en /select.html) – VMai