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

Cách tối ưu hóa cơ sở dữ liệu trang web

Cơ sở dữ liệu có thể lưu trữ một lượng lớn thông tin - tất cả các bài đăng, trang, nhận xét, menu và bất kỳ dạng dữ liệu văn bản nào. Bạn có trang web càng phát triển thì cơ sở dữ liệu của nó càng lớn. Cùng với đó, cơ sở dữ liệu có thể trở nên 'lộn xộn' với các mục không cần thiết, chẳng hạn như nhận xét spam, bản nháp, tệp đã đóng hoặc tạm thời, v.v.

Tất nhiên, nó có thể dẫn đến hiệu suất tốc độ trang web của bạn kém và thậm chí sử dụng tài nguyên quá mức trong tài khoản cPanel của bạn - một số yêu cầu MySQL đối với cơ sở dữ liệu 'nặng' có thể bị kẹt trong một hàng đợi đánh vào Quy trình đầu vào và giới hạn CPU. Do đó, cần phải tối ưu hóa thích hợp để liên quan đến hiệu quả mà dữ liệu được truy xuất từ ​​cơ sở dữ liệu.

Hướng dẫn này sẽ chỉ cho bạn một số cách để đạt được mục tiêu này. 1. Để bắt đầu, bạn cần xác định vị trí cơ sở dữ liệu được gán cho trang web của bạn. Nếu bạn không biết tên của nó, vui lòng kiểm tra tệp cấu hình trang web của bạn:

CMS Đường dẫn đến tệp cấu hình Dòng
WordPress thư mục gốc cài đặt, wp-config.php xác định ('DB_NAME', 'cpuser_database');
Joomla thư mục gốc cài đặt, config.php public $ db ='cpuser_database';
PrestaShop thư mục gốc cài đặt>> / config / settings.inc.php xác định ('_ DB_NAME_', cpuser_database ');
OpenCart thư mục gốc cài đặt, config.php xác định ('DB_DATABASE', 'cpuser_database');
Drupal thư mục gốc cài đặt>> / sites / default / settings.php 'database' => 'cpuser_database',
Hình tượng trưng thư mục gốc cài đặt, config.php $ CFG-> dbname, ='cpuser_database';
Magento thư mục gốc cài đặt>> / app / etc / local.xml <[! CDATA [cpuser_database]]>
phpBB thư mục gốc cài đặt, config.php $ dbname ='cpuser_database';
2. Trong trường hợp của chúng tôi, chúng tôi có một trang web dựa trên WordPress, tên cơ sở dữ liệu của chúng tôi là nctests_wp255 :



3. Trước khi thực hiện bất kỳ thay đổi nào, chúng tôi đặc biệt khuyên bạn nên tải xuống bản sao lưu của cơ sở dữ liệu của bạn. Để làm như vậy, hãy chuyển đến Tệp phần> Sao lưu thực đơn:



4. Nhấp vào cơ sở dữ liệu được đề cập trong Tải xuống Bản sao lưu cơ sở dữ liệu MySQL để bắt đầu tải xuống:



5. Bây giờ bạn có thể tiến hành tối ưu hóa chính nó. Điều hướng đến Cơ sở dữ liệu phần> phpMyAdmin thực đơn:



6. Nhấp vào cơ sở dữ liệu ở menu bên trái để mở rộng danh sách các bảng:



7. Đánh dấu chọn bảng cần thiết và chọn Tối ưu hóa bảng từ trình đơn thả xuống như được hiển thị bên dưới:



8. Theo cách tương tự, bạn có thể tối ưu hóa nhiều bảng cùng một lúc hoặc tất cả chúng bằng cách sử dụng Kiểm tra tất cả tùy chọn:



9. Kết quả là, bạn sẽ nhận được kết quả sau:



10. Một cách khác để tối ưu hóa cơ sở dữ liệu của bạn là xóa dữ liệu không cần thiết. Nó có thể được thực hiện thông qua SQL dòng lệnh với truy vấn sau:

DELETE FROM $ table where ;

trong đó $ table xác định tên của bảng cần được điều chỉnh và xác định những thay đổi cần được thực hiện:



11. Hãy xem xét kỹ tùy chọn này và xem xét cách thức hoạt động của nó.

Giả sử bạn cần xóa tất cả các bài viết có chứa một số từ khóa, bạn nên sử dụng lệnh sau:

XÓA TỪ 'bảng'
ĐÂU 'cột' như '% từ khóa%
'

LƯU Ý: bạn cần thay thế bảng cột với các giá trị thực tế của cơ sở dữ liệu của bạn.

Để làm như vậy, hãy di chuyển đến bảng chứa các bài đăng trên trang web của bạn và tìm cột tương ứng. Trong trường hợp của chúng tôi, đó là wp9x_posts posts_title cột:



Dưới đây, bạn có thể xem biến thể cuối cùng của lệnh của chúng tôi:

XÓA TỪ 'wp9x_posts'
WHERE 'post_title' như '% test%'




Sau khi bạn nhấn Bắt đầu , tất cả các bài đăng có 'kiểm tra' từ trong tiêu đề của họ sẽ bị xóa.

Đầu ra sẽ giống như sau:



12. Nếu bạn muốn xóa các bài đăng trong khoảng thời gian đã chỉ định, vui lòng sử dụng cái này:

XÓA TỪ 'bảng'
WHERE 'cột' giữa 'datefrom' và 'dateto '


Một lần nữa, bảng cột nên được thay thế bằng các giá trị thực tế cũng như datefrom dateto .

LƯU Ý: bạn cần chỉ định ngày và giờ chính xác có thể được tra cứu trong cơ sở dữ liệu.



Lệnh cuối cùng của chúng ta là:


> XÓA khỏi 'wp9x_posts'
WHERE 'post_date' trong khoảng thời gian từ '2015-06-24 19:48:14' đến '2016-07-20 23:27:23' 13. Giả sử bạn cần xóa nhận xét từ một người dùng nhất định. Đây là lệnh để sử dụng:

DELETE FROM 'table'
WHERE 'column' ='username'


trong trường hợp của chúng tôi là:

XÓA TỪ 'wp9x_comments'
WHERE 'comment_author' ='test_user'


hoặc nếu bạn cần xóa các bài đăng có trạng thái nhất định:

XÓA TỪ 'bảng'
WHERE 'column' ='status'


trong trường hợp của chúng tôi là:

XÓA TỪ 'wp9x_posts'
WHERE 'post_status' ='closed'
Chế độ tương tự hoạt động đối với bất kỳ bảng, cột và cơ sở dữ liệu nào khác, bạn chỉ cần đặt các giá trị tương ứng. Bạn cũng có thể tham khảo tài liệu MySQL để tìm hiểu thêm về các thao tác có thể có và cú pháp MySQL.


Vậy là xong!


Bạn cần trợ giúp? Liên hệ với HelpDesk của chúng tôi


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tính năng tự động tăng của MySQL lại tăng trên các lần chèn không thành công?

  2. MySQLi chuẩn bị báo cáo lỗi báo cáo

  3. Cách lấy thời gian từ một chuỗi trong MySQL

  4. Cách nhập CSV vào MySQL Workbench

  5. Cách ClusterControl định cấu hình IP ảo và Điều gì sẽ xảy ra trong quá trình chuyển đổi dự phòng