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

Optymalizacja zapytania MySQL z wieloma lewymi sprzężeniami

  • Upewnij się, że masz indeksy w polach, które znajdują się w instrukcjach WHERE i warunkach ON, klucze podstawowe są indeksowane domyślnie, ale w razie potrzeby możesz również tworzyć indeksy ręcznie.
  • Sprawdź, czy naprawdę musisz zaznaczyć każdą kolumnę we wszystkich tabelach? Jeśli nie, upewnij się, że wybierasz tylko te kolumny, których potrzebujesz, unikaj używania wybierz*

  • Sprawdź dokładnie, czy naprawdę potrzebujesz LEFT JOINS, jeśli nie, użyj INNER JOIN.

  • Jeśli po zakończeniu poprawiania zapytania wydajność nadal stanowi problem, rozważ denormalizację schematu w celu wyeliminowania złączeń

  • Możesz również rozważyć zmniejszenie obciążenia bazy danych za pomocą aplikacji buforujących, takich jak sphinxsearch i memcached

  • Sprawdź, czy żadne z Twoich sprzężeń nie dotyczy widoków, a nie rzeczywistych tabel

referencje:

http://www.sphinxsearch.com

http://dev.mysql.com/doc/refman /5.0/en/create-index.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL BŁĄD 502:SELECT * FROM tabela WHERE uid=1 ORDER BY id DESC LIMIT 0, 100; Paginacja nie działa

  2. Jak połączyć się z mysql za pomocą ipv6 z wordpress

  3. MySQL - policz całkowitą liczbę wierszy w php

  4. Błąd logowania mysql, najlepsza praktyka

  5. Parametry zapytania MySQL w panelu Pentaho CE