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

Zend Framework và Mysql - rất chậm

Lời khuyên:

  • Lưu vào bộ nhớ cache của bảng siêu dữ liệu . Theo mặc định, Zend_Db_Table cố gắng khám phá siêu dữ liệu về bảng mỗi khi đối tượng bảng của bạn được khởi tạo. Sử dụng bộ nhớ cache để giảm số lần nó phải thực hiện việc này. Hoặc mã cố định nó trong lớp Bảng của bạn (lưu ý: bảng db không phải là mô hình ).

  • Sử dụng EXPLAIN để phân tích kế hoạch tối ưu hóa của MySQL. Nó có đang sử dụng chỉ mục một cách hiệu quả không?

    mysql> EXPLAIN SELECT * FROM standard_accessory WHERE model = 'abc';
    
  • Sử dụng BENCHMARK() để đo tốc độ của truy vấn, không sử dụng PHP. Truy vấn con phải trả về một cột duy nhất, vì vậy hãy đảm bảo trả về một cột không được lập chỉ mục để truy vấn phải chạm vào dữ liệu thay vì chỉ trả về một mục nhập chỉ mục.

    mysql> SELECT BENCHMARK(1000, 
      (SELECT nonindexed_column FROM standard_accessory WHERE model = 'abc'));
    
  • Lưu ý rằng Zend_Db_Adapter lười tải kết nối db của nó khi bạn thực hiện truy vấn đầu tiên. Vì vậy, nếu có bất kỳ sự chậm chạp nào trong việc kết nối với máy chủ MySQL, điều đó sẽ xảy ra khi bạn khởi tạo đối tượng Table (khi nó truy vấn siêu dữ liệu). Bất kỳ lý do gì mà điều này có thể mất nhiều thời gian? Tra cứu DNS , có lẽ?



  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 hiển thị các hàng không chính xác khi sử dụng GROUP BY

  2. Tự động hóa triển khai cơ sở dữ liệu MySQL

  3. SonarQube:Làm cách nào để giảm kích thước của Measure_data.ibd?

  4. cách tạo menu động với menu phụ bằng php &mysql

  5. Cách lưu trữ Java Instant trong cơ sở dữ liệu MySQL