Làm cách nào để tăng Max_execution_time trong MySQL?

Một truy vấn được gửi tới MySQL mất nhiều thời gian hơn để thực hiện hơn dự kiến. Sử dụng công cụ MySQL để lập hồ sơ truy vấn, một lượng lớn thời gian được ghi lại bởi trình lập kế hoạch truy vấn

triệu chứng

Thời gian thực hiện truy vấn trong MySQL cao

Gây ra

Công cụ lập kế hoạch truy vấn MySQL đang xem xét các kế hoạch thay thế dẫn đến thời gian lập kế hoạch lớn hơn

Để biết thêm chi tiết, hãy tham khảo tài liệu MySQL về lập kế hoạch truy vấn

http. // nhà phát triển. mysql. com/doc/refman/8. 0/vi/kiểm soát-truy vấn-kế hoạch-đánh giá. html
 

Giải quyết vấn đề


Giảm giá trị độ sâu tìm kiếm được sử dụng bởi MySQL. Điều này có thể được chỉ định thông qua khối lệnh kết nối trong Cognos Analytics, khối này đưa ra lệnh phiên thiết lập MySQL hoặc bởi quản trị viên MySQL giảm cài đặt mặc định của máy chủ

Để biết thêm chi tiết tham khảo tài liệu MySQL
https. // nhà phát triển. mysql. com/doc/refman/8. 0/vi/kiểm soát-truy vấn-kế hoạch-đánh giá. html

Vị trí tài liệu

Toàn cầu

[{"Loại". "SW","Ngành Kinh doanh". {"mã số". "LOB10","nhãn". "Dữ liệu và AI"}"Đơn vị kinh doanh". {"mã số". "BU059","nhãn". "Phần mềm IBM w\/o TPS"},"Sản phẩm". {"mã số". "SSTSF6","nhãn". "IBM Cognos Analytics"},"Danh mục ARM". [{"mã số". "a8m50000000Cl6nAAC","nhãn". "Cài đặt và cấu hình->Nguồn dữ liệu"}],"Số trường hợp ARM". "","Nền tảng". [{"mã số". "PF025","nhãn". "Nền tảng độc lập"}],"Phiên bản". "Tất cả (các) Phiên bản"}]

Chỉ thị max_execution_time xác định thời gian thực thi tối đa cho các tập lệnh và ứng dụng PHP của bạn. Nếu không được định cấu hình, thời gian thực thi tối đa mặc định cho tập lệnh PHP là 30 giây. PHP sẽ hết thời gian chờ và thoát với lỗi nghiêm trọng khi đạt đến giới hạn thời gian

Làm cách nào để tăng Max_execution_time trong MySQL?

Fatal error: Maximum execution time of 30 seconds exceeded in yourscript.php

Bạn có thể đặt giới hạn thời gian của PHP bằng cách định cấu hình tùy chọn max_execution_time để tập lệnh của bạn không hết thời gian chờ và thoát với lỗi

Có một số phương pháp để đặt tùy chọn, chẳng hạn như định cấu hình tệp php. ini, sử dụng các hàm ini_set() và set_time_limit() và sử dụng. tập tin htaccess. Mặt khác, cPanel cho phép thiết lập tùy chọn max_execution_time từ giao diện web

Các phương pháp tăng giới hạn thời gian thực thi tối đa cho PHP

Cách tiếp cận này sẽ ảnh hưởng đến tất cả các tập lệnh PHP đang chạy trong hệ thống của bạn. Đó là giải pháp tốt nhất nếu bạn đang chạy một hệ thống hoặc khung quản lý nội dung như WordPress hoặc Drupal vì bạn không cần định cấu hình tùy chọn theo cách thủ công cho tất cả các tập lệnh bị ảnh hưởng

Đặt max_execution_time trong tệp cấu hình PHP của bạn thành số giây muốn cho phép các tập lệnh PHP của bạn thực thi

  1. mở php. ini bằng trình soạn thảo văn bản yêu thích của bạn.

    $ sudo vi /etc/php/7.2/apache2/php.ini

  2. Tìm chỉ thị max_execution_time.

    ; Maximum execution time of each script, in seconds
    ; http://php.net/max-execution-time
    ; Note: This directive is hardcoded to 0 for the CLI SAPI
    max_execution_time = 30

  3. Đặt giá trị cho max_execution_time tính bằng giây.

    max_execution_time = 300

    Đặt nó thành 0 sẽ không áp đặt bất kỳ giới hạn thời gian nào đối với việc thực thi các tập lệnh PHP của bạn

    Không nên đặt giá trị thành 0 ở cấp độ này vì thay đổi trên toàn hệ thống của phương thức này sẽ khiến mọi tập lệnh PHP hoạt động sai tiêu tốn thời gian quý báu của CPU một cách không cần thiết

  4. Khởi động lại máy chủ web của bạn.

    $ sudo systemctl restart apache2

Về cơ bản, nó giống như giải pháp trước đó, nhưng nó thực sự là một chức năng bạn gọi từ tập lệnh PHP của mình. Đó là một chức năng chung để ghi đè bất kỳ tùy chọn cấu hình nào được đặt trong tệp cấu hình PHP của bạn và chỉ ảnh hưởng đến việc thực thi các tập lệnh gọi hàm

Khi được đặt ở đầu tập lệnh PHP của bạn, lệnh gọi hàm sau sẽ cho phép tập lệnh chạy trong 300 giây (5 phút)

ini_set('max_execution_time', 300);

Lời gọi hàm phải được đặt trong các tệp được chia sẻ, chẳng hạn như tệp cấu hình cho CMS và khung. Đối với WordPress, đó là cài đặt wp. php.

Làm cách nào để tăng Max_execution_time trong MySQL?

Đây là một chức năng tích hợp sẵn của PHP đặc biệt để đặt giới hạn thời gian thực thi tối đa cho các tập lệnh PHP của bạn. Nó sẽ được gọi từ tập lệnh PHP của bạn như trong phương thức trước đó và ví dụ sau cũng đặt giới hạn thành 300 giây (5 phút)

set_time_limit ( 300 );

Đây là tùy chọn tốt nhất nếu bạn không có quyền truy cập của quản trị viên vào hệ thống của mình nhưng vẫn muốn đặt tùy chọn cho tất cả các tập lệnh trong thư mục dự án của mình

Thêm các dòng sau vào. htaccess trong thư mục dự án PHP của bạn và điều này sẽ được áp dụng cho tất cả các tập lệnh trong thư mục đó

php_value max_execution_time 300

Sử dụng mod_php5. c nếu bạn đang lưu trữ trên PHP 5

htaccess là một giải pháp dành riêng cho Apache

Tùy chọn này có sẵn trong bảng điều khiển cPanel và có thể được sử dụng để thay đổi giới hạn thời gian thực thi tối đa của PHP

Làm cách nào để tăng giới hạn thời gian trong MySQL?

SET SESSION MAX_EXECUTION_TIME=2000; Sau đó, mọi câu lệnh CHỌN chạy trong phiên cụ thể này sẽ bị hủy bỏ nếu chúng mất hơn 2 giây để hoàn thành. Cuối cùng, thời gian thực hiện tối đa cũng có thể được đặt cho một câu lệnh CHỌN cụ thể bằng cách sử dụng gợi ý MAX_EXECUTION_TIME trực tiếp trong truy vấn.

max_execution_time trong MySQL là gì?

Gợi ý MAX_EXECUTION_TIME( N ) đặt thời gian chờ thực hiện câu lệnh là N mili giây . Nếu tùy chọn này không có hoặc N bằng 0, thời gian chờ câu lệnh được thiết lập bởi biến hệ thống max_execution_time sẽ được áp dụng.

Làm cách nào để kiểm tra max_execution_time trong MySQL?

HIỂN THỊ CÁC BIẾN NHƯ 'MAX_EXECUTION_TIME' hoặc chọn @@max_execution_time để truy xuất . "Thời gian chờ thực hiện cho các câu lệnh SELECT, tính bằng mili giây. Nếu giá trị là 0, thời gian chờ KHÔNG được bật. " theo tài liệu.

Làm cách nào để tăng tốc độ thực thi truy vấn MySQL?

Tối ưu hóa truy vấn với Nguyên tắc tối ưu hóa truy vấn MySQL .
Tránh sử dụng các chức năng trong vị ngữ. .
Tránh sử dụng ký tự đại diện (%) ở đầu vị ngữ. .
Tránh các cột không cần thiết trong mệnh đề SELECT. .
Sử dụng nối bên trong, thay vì nối ngoài nếu có thể. .
Chỉ sử dụng DISTINCT và UNION nếu cần thiết