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

Jak poprawić wydajność zapytań dzięki kolejności, grupowaniu i łączeniom?

Biorąc pod uwagę, że zapytanie jest już dość proste, opcje, których szukam, to ...

  • Plan wykonania (aby znaleźć brakujące indeksy, które mógłbyś dodać)
  • buforowanie (aby upewnić się, że SQL ma już wszystkie dane w pamięci RAM)
  • denormalizacja (aby zmienić zapytanie na płaskie zaznaczenie)
  • buforuj dane w aplikacji (abyś mógł użyć na niej czegoś takiego jak PLINQ)
  • Użyj sklepu opartego na pamięci RAM (redis, Elastic)
  • Dostosowania grupy plików (fizyczne przenoszenie bazy danych na szybsze dyski)
  • Podziel swoje tabele na partycje (aby rozłożyć surowe dane na wielu fizycznych dyskach)

Im dalej idziesz w dół tej listy, tym bardziej zaangażowane stają się rozwiązania. Myślę, że zależy to od tego, jak szybko potrzebujesz zapytania i jak bardzo potrzebujesz skalowania rozwiązania.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP_CONCAT z JOINLEFT w Zend Db Select

  2. tomcat7:Nie można załadować klasy sterownika JDBC [com.mysql.jdbc.Driver]

  3. Uzyskaj tylko rekordy utworzone dzisiaj w laravel

  4. Paginacja MySQL oparta na kursorach z wieloma kolumnami

  5. Jak pobrać dane z wielu tabel za pomocą formularza PHP?