Czy można przypisać niższy priorytet zapytaniu w MySQL podobnym do polecenia nice
w wierszu poleceń (w systemie Linux)? Jeśli nie, czy istnieją bazy danych, które mogą zrobić coś takiego?Zapytanie o niskim priorytecie w Mysql
Odpowiedz
Można użyć LOW_PRIORITY
lub HIGH_PRIORITY
w zapytaniach w zależności od rodzaju zapytania wykonać:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] INTO ...
SELECT [HIGH_PRIORITY] * FROM ...
UPDATE [LOW_PRIORITY] table ...
Z Mysql 5.7 documentation dla zapytania INSERT
na przykład:
Jeśli używasz Słowo kluczowe LOW_PRIORITY, wykonanie INSERT jest opóźnione, dopóki żaden inny klient nie odczyta z tabeli. Dotyczy to również innych klientów, którzy rozpoczęli odczytywanie, podczas gdy istniejący klienci czytają i gdy oczekuje instrukcja INSERT LOW_PRIORITY. Możliwe jest zatem, że klient, który wystawi instrukcję INSERT LOW_PRIORITY, będzie czekał przez bardzo długi czas.
Ale mówi się też:
ten dotyczy tylko silników składowania, które używają tylko blokowanie tabeli poziomu (takie jak MyISAM, pamięci i połączyć)
więc wygrał” t móc korzystać z tej funkcji na przykład z innodb
, chyba że chcesz użyć LOCK_TABLES
, a tym samym zmniejszyć jego wydajność.
I [przeczytaj tutaj na stosie wymiany dba] (http://dba.stackexchange.com/a/56379/8378), że zapytanie LOW_PRIORITY może nigdy nie zostać uruchomione, jeśli twoja baza danych jest zawsze zajęta normalnym lub Prośby o HIGH_PRIORITY ... więc jedzenie do myślenia! –
Ta odpowiedź mówi, że możesz użyć LOW_PRIORITY dla INSERT, SELECT i UPDATE. Począwszy od wersji MySQL 5,7, ta opcja nie jest dostępna dla instrukcji SELECT. Zobacz https://dev.mysql.com/doc/refman/5.7/en/select.html – ChrisInEdmonton
@ChrisInEdmonton Dzięki, poprawiłem swoją odpowiedź. "LOW_PRIORITY" nie jest możliwe w zapytaniach SELECT (i to nie tylko w 5.7), [ale "HIGH_PRIORITY" to] (https://dev.mysql.com/doc/refman/5.7/en/select.html) – julienc
- 1. Aktualizacje o niskim priorytecie na MySQL przy użyciu JDBC - jak sprawdzić, czy działają
- 2. Zapytanie MySQL o listę wartości
- 3. Zapytanie MySQL o bieżący czas GMT
- 4. MySQL - zapytanie o ostatnio utworzoną tabelę
- 5. zapytanie o aktualizację mysql z sub-zapytaniem
- 6. Uruchom zapytanie SQL o uruchomienie usługi MySQL
- 7. Jak mogę zoptymalizować zapytanie MySQL o aktualizację?
- 8. Algorytm Dijkstry z kolejką o priorytecie min
- 9. Identyfikacja nazwy właściwości o niskim rozmiarze
- 10. znak wodny o niskim dysku [??%] przekroczony na
- 11. Co to jest JavaScript o niskim poziomie?
- 12. Jak automatycznie wywołać zapytanie o każde nowe połączenie w MySQL?
- 13. Zapytanie MySQL do tworzenia kolumn w oparciu o inne tabele
- 14. Kolejka priorytetowa o wyższym priorytecie jako pierwsza w języku Python
- 15. Jak mierzyć opóźnienie w środowiskach o niskim opóźnieniu?
- 16. Gradient podnoszący prognozy w środowiskach produkcyjnych o niskim opóźnieniu?
- 17. Zapytanie MYSQL dla tabeli
- 18. Jak zaplanować zapytanie MySQL?
- 19. MySQL bardzo powolny zapytanie
- 20. Django MySQL odrębne zapytanie o uzyskanie wielu wartości
- 21. jak cofnąć zapytanie mysql?
- 22. Zapytanie o JSONObject w java
- 23. Zapytanie o warunkach w wierszach
- 24. Zapytanie o schematy w Postgresie
- 25. Jak zachować kolejkę o dużym priorytecie z najważniejszymi pozycjami?
- 26. Funkcja Push to Firebase za pomocą REST API o priorytecie
- 27. Tworzenie kolejki wysyłkowej o wysokim priorytecie z GCD
- 28. Zapytanie Sails.js o powiązaną wartość
- 29. Mylić o priorytecie między stemplerem a tagerem pos
- 30. Następujące pakiety będą SUPERCEDED przez kanał o wyższym priorytecie
Który problem chcesz rozwiązać przez to? – VMai
MySQL ma odwrotność: _HIGH_PRIORITY nadaje SELECT wyższy priorytet niż instrukcja aktualizująca tabelę. Powinieneś używać tego tylko w przypadku bardzo szybkich zapytań, które muszą być wykonane od razu. Zapytanie SELECT HIGH_PRIORITY, które jest wydawane, gdy tabela jest zablokowana do odczytu działa, nawet jeśli istnieje instrukcja aktualizacji oczekująca na to, że tabela będzie wolna. Ma to wpływ tylko na silniki pamięci masowej wykorzystujące tylko blokowanie na poziomie tabeli (takie jak MyISAM, MEMORY i MERGE) ._ source: manual page [SELECT] (https://dev.mysql.com/doc/refman/5.6/en /select.html) – VMai