Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy xuất dữ liệu từ MYSQL dựa trên số tuần

Đừng không sử dụng một cái gì đó như WHERE WEEK(column)=something - đây là một kẻ giết hiệu suất:Nó sẽ tính toán số tuần trên tất cả các hàng, ngay cả khi chúng không khớp. Thêm vào đó, nó sẽ khiến bạn không thể sử dụng chỉ mục trên cột này.

Thay vào đó, hãy tính toán ngày bắt đầu và ngày kết thúc tuyệt đối hoặc thời điểm, tùy thuộc vào loại dữ liệu của bạn, sau đó sử dụng BETWEEN . Điều này sẽ không thực hiện tính toán trên các hàng không khớp và cho phép sử dụng chỉ mục.

Quy tắc chung:Nếu bạn có sự lựa chọn giữa phép tính trên một hằng số và trên một trường, hãy sử dụng phương pháp trước.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. varchar (255) so với tinytext / tinyblob và varchar (65535) so với blob / text

  2. CHỌN * hoặc CHỌN `trường` nhanh hơn là gì khi chỉ yêu cầu` trường`

  3. Sử dụng Python và MySQL trong Quy trình ETL:SQLAlchemy

  4. Lưu trữ đường dẫn tệp trong Cơ sở dữ liệu

  5. hiệu suất neo4j so với mysql (nó có thể được cải thiện như thế nào?)