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

Jak utworzyć indeks w części daty pola DATETIME w MySql?

Jeśli dobrze pamiętam, uruchomi to skanowanie całej tabeli, ponieważ przekazujesz kolumnę przez funkcję. MySQL posłusznie uruchomi funkcję dla każdej kolumny, omijając indeks, ponieważ optymalizator zapytań nie może tak naprawdę poznać wyników funkcji.

Ja bym zrobiła coś takiego:

SELECT * FROM transactionlist 
WHERE TranDateTime BETWEEN '2008-08-17' AND '2008-08-17 23:59:59.999999';

To powinno dać ci wszystko, co wydarzyło się 17.08.2008.



  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 znaleźć sortowania obsługiwane przez serwer w MySQL?

  2. Błąd importowania Pythona MySQLdb — Mac 10.6

  3. PHP CRUD Twórz, edytuj, aktualizuj i usuwaj posty za pomocą bazy danych MySQL

  4. Jak wyeksportować bazę danych za pomocą phpMyAdmin

  5. 5 najlepszych narzędzi GUI MySQL (bezpłatne i płatne)