Mysql
 sql >> Baza danych >  >> RDS >> Mysql

kopiowanie do tabeli tymczasowej zajmuje dużo czasu

Tabela tymczasowa może nie być najlepszą opcją w zależności od tego, co chcesz osiągnąć... Użyteczne może być utworzenie tabeli z pewną konsolidacją danych w celu zawężenia zakresu kolejnych kilku żądań, ale rzadko jest to efektywne.

Ponadto nie można uzyskać dostępu do tabel tymczasowych wielokrotnie, więc potrzebna byłaby prawdziwa tabela.

Utworzenie tabeli wymaga zapisu na dysku, co jest o wiele mniej wydajne niż czysty wybór w pamięci RAM. Korzystając z metod buforowania, możesz bardzo szybko pobrać wynik poprzedniego wyboru. Możesz użyć tego wyboru jako części FROM swoich zapytań, aby przyspieszyć niż łączenie w ogromnej bazie danych. Ale nawet wtedy...

Ewoluujemy na zbiorze danych wynoszącym około 1 do, duże zapytania to produkty wyszukiwania zgodnie z prawami użytkowników (kategoria, sklep,...) staraliśmy się stworzyć tabelę dla każdego użytkownika wskazującą produkty, do których ma on prawa i następnie użyj tej tabeli, aby pobrać dane bez konieczności posiadania ogromnych warunków, ale nadal było to powolne przy użyciu dysku SSD. Po prostu zrzuciliśmy ogromną pamięć RAM na serwer, a SELECT, którego użylibyśmy do wypełnienia tabel tymczasowych, jest uruchamiany dla każdego użytkownika podczas logowania, a następnie używany jako FROM i wszystko jest idealne.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyświetlić datę w formacie ISO 8601 za pomocą PHP

  2. Raporty MySQL Workbench nie są prawidłowe w tej pozycji dla tego błędu wersji serwera

  3. Dziedziczenie hibernacji, kolekcje i atrybut superklasy @OrderedBy generuje błąd składni MySQL

  4. Migracje baz danych na produkcję django

  5. Wędrujące przekierowanie portów dla Mysql