MySQL: Cách giảm thời gian thực thi truy vấn MySQL

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Cách giảm thời gian thực thi truy vấn MySQL

Nếu bạn đang sử dụng câu lệnh JOIN trong MySQL để thêm nhiều bảng và bạn không định cấu hình công cụ máy chủ và kiến ​​trúc lưu trữ, thì truy vấn của bạn có thể mất một phút để thực thi. Thời gian thực thi truy vấn MySQL mặc định là 0,5 giây. Thời gian thực thi của truy vấn MySQL phụ thuộc vào các yếu tố khác nhau như loại công cụ máy chủ, kiến ​​trúc lưu trữ, cơ sở dữ liệu và cấu trúc bảng, tải và tranh chấp và độ trễ mạng.

Ở đây chúng ta sẽ xem một số điều cơ bản giúp tăng thời gian thực thi truy vấn MySQL:

  1. Tránh các hàm trong mệnh đề WHERE
  2. Tránh các phép toán số học trong mệnh đề WHERE
  3. Tránh "Outer JOIN"
  4. Tránh toán tử "GROUP BY, ORDER BY, LIKE, DISTINCT". Chúng gây tiêu tốn nhiều thời gian hơn.
  5. Không sử dụng các truy vấn con.

Để giảm thời gian thực thi truy vấn MySQL, hãy xem các bước dưới đây:

  1. Tạo các chỉ mục (INDEX) tốt hơn
  2. Sử dụng "Explain"
  3. Nối tất cả các bảng với nhau bằng tên cột (COLUMN) duy nhất và giống nhau
  4. Sử dụng truy vấn con với cột được hỗ trợ
  5. Sử dụng cấu hình phần cứng tốt nhất với máy chủ lưu trữ
  6. Tăng bộ nhớ cache và RAM trong phần cứng của bạn.

Cách kiểm tra hiệu suất truy vấn trong MySQL sử dụng PHP:

<?php

include("config.php");

// Ghi lại thời gian bắt đầu trước khi truy vấn được thực thi
$start_time = microtime(true);

// Chạy truy vấn MYSQL của bạn
mysqli_query($db, "SELECT * FROM tên_bảng");

// Sau khi truy vấn chạy xong, ghi lại thời gian kết thúc
$end_time = microtime(true);

// Tính hiệu của thời gian bắt đầu và thời gian kết thúc thực thi truy vấn mysql theo đơn vị micro giây
$diff = $end_time - $start_time;

// Định dạng thời gian để nó chỉ hiển thị 10 chữ số thập phân
$ActualqueryTime = number_format($diff, 10);

// In ra số giây cần để truy vấn thực thi
echo"Truy vấn MYSQL mất $ActualqueryTime giây.";

?>
» Tiếp: Cách dùng NOT IN trong MySQL
« Trước: Solution Practical 2
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!