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

Czy warto indeksować pole datetime w mysql?

MySQL zaleca używanie indeksów z różnych powodów, w tym eliminowania wierszy między warunkami:http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

To sprawia, że ​​kolumna datetime jest doskonałym kandydatem na indeks, jeśli zamierzasz często używać jej w warunkach w zapytaniach. Jeśli jedynym warunkiem jest BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY) i nie masz żadnego innego indeksu w warunku, MySQL będzie musiał wykonać pełne skanowanie tabeli na każde zapytanie. Nie jestem pewien, ile wierszy zostanie wygenerowanych w ciągu 30 dni, ale dopóki jest to mniej niż około 1/3 łącznej liczby wierszy, bardziej efektywne będzie użycie indeksu w kolumnie.

Twoje pytanie dotyczące tworzenia wydajnej bazy danych jest bardzo szerokie. Powiedziałbym, aby upewnić się, że jest to znormalizowane i wszystkie odpowiednie kolumny są indeksowane (tj. te używane w klauzulach złączeń i wher).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wybierz losową wartość na podstawie prawdopodobieństwa szansy

  2. Ciąg znaków ucieczki do użycia w wyszukiwaniu pełnotekstowym MySQL

  3. Różnica między mysql a mysqli

  4. Uzupełnianie początku pola mysql INT zerami

  5. Wstaw zbiorczo i otrzymaj zwrócone identyfikatory laravel