Tính năng này tuân theo Điều khoản dịch vụ của Google Cloud. Các tính năng trước GA có thể được hỗ trợ hạn chế và các thay đổi đối với các tính năng trước GA có thể không tương thích với các phiên bản trước GA khác. Để biết thêm thông tin, hãy xem
Trình đề xuất số lượng bảng mở cao của Cloud SQL giúp bạn phát hiện các phiên bản có số lượng bảng được mở đồng thời bằng với giá trị của table_open_cache. Sau đó, nó cung cấp các đề xuất về cách tối ưu hóa các phiên bản đó để cải thiện hiệu suất
Trang này mô tả cách thức hoạt động của trình giới thiệu số lượng bàn mở cao và cách bạn có thể sử dụng nó
Làm thế nào nó hoạt động
MySQL là đa luồng và khách hàng có thể đồng thời đưa ra truy vấn trên cùng một bảng từ nhiều luồng. Do đó, MySQL có thể có các bảng mở độc lập cho mỗi phiên. Số lượng bàn mở đồng thời được quản lý bởi table_open_cache. Nếu bộ đệm đầy và các bảng bổ sung được mở, MySQL sẽ đóng bảng ít được sử dụng gần đây nhất. Nếu tất cả các bảng trong bộ đệm hiện đang được sử dụng, MySQL sẽ tạm thời mở rộng bộ đệm và đóng các bảng ngay khi chúng không được sử dụng
Nếu số lượng bảng đang mở vượt quá giá trịtable_open_cache, hiệu suất cơ sở dữ liệu có thể bị ảnh hưởng bất lợi trong khối lượng công việc cao. Điều này là do nhiều luồng hơn được tạo và trình xử lý bảng phải mở và đóng bảng thường xuyên hơn
Công cụ đề xuất số lượng bảng mở cao của Cloud SQL phân tích các chỉ số về số lượng bảng đã mở trên một phiên bản Cloud SQL MySQL. Nếu số bàn đã mở tăng 1 cứ sau 2 giây hoặc nhanh hơn trong 24 giờ trước đó và số bàn đang mở bằng hoặc nhiều hơn giá trị table_open_cache, người giới thiệu khuyên bạn nên điều chỉnh cờ table_open_cache
Ghi chú. Đề xuất được tạo ra hàng ngàyđịnh giá
Công cụ đề xuất có số lượng bảng mở cao trên Cloud SQL nằm trong bậc giá của Công cụ đề xuất tiêu chuẩn
Trước khi bắt đầu
Trước khi bạn có thể xem các đề xuất và thông tin chi tiết, hãy làm như sau
- Để có quyền xem và làm việc với thông tin chi tiết cũng như đề xuất, hãy đảm bảo rằng bạn có các yêu cầu. Nhiệm vụVai tròXem đề xuấtMột trong những vai trò này. GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 1 hoặc GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 2. Áp dụng đề xuấtMột trong những vai trò này. GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 3, GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 4 hoặc GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 5. Để biết thêm thông tin về vai trò, hãy xem hiểu vai trò và cấp quyền IAM
Kích hoạt API đề xuất
Kích hoạt API
Liệt kê các đề xuất về hiệu suất của phiên bản
Bạn có thể liệt kê các đề xuất về hiệu suất của phiên bản bằng cách sử dụng Google Cloud console, GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 6 hoặc Recommender API
Các đề xuất cải thiện hiệu suất của phiên bản chỉ được hiển thị nếu bạn có các phiên bản sắp đạt đến giới hạn ngưỡng hiệu suất
Để liệt kê các đề xuất về hiệu suất của phiên bản bằng cách sử dụng bảng điều khiển Google Cloud, hãy làm theo các bước sau Truy cập trang Phiên bản Cloud SQL Chuyển đến Phiên bản đám mây SQL Nhấp vào Xem tất cả trên biểu ngữ đề xuất mở bộ nhớ cache của bảng Tăng Ngoài ra, hãy làm theo các bước sau Chuyển đến Trung tâm đề xuất. Xem thêm Bắt đầu với Trung tâm đề xuất Chuyển đến Trung tâm đề xuất Trong thẻ Cải thiện hiệu suất phiên bản SQL trên đám mây, hãy nhấp vào Xem tất cả Chọn các phiên bản có đề xuất bộ đệm mở bảng Tăng Để liệt kê các đề xuất Cải thiện Hiệu suất Phiên bản bằng cách sử dụng GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
7, hãy chạy lệnh GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
8 như sauBảng điều khiển
gcloud CLI
Thay thế sau đây
- GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 9. ID dự án của bạn
- gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES 0. Một khu vực, chẳng hạn như gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES 1
API
Để liệt kê các đề xuất Cải thiện hiệu suất phiên bản bằng cách sử dụng API Đề xuất, hãy gọi phương thức gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES 2 như sau
GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendationsThay thế sau đây
- GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 9. ID dự án của bạn
- gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES 0. Một khu vực, chẳng hạn như gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES 1
Nếu trình đề xuất phát hiện các phiên bản có số lượng bảng mở cao, thì trình đề xuất sẽ liệt kê chúng trong một bảng cùng với các đề xuất hiệu suất khác. Mỗi hàng hiển thị ID phiên bản, đề xuất ngắn gọn, công cụ cơ sở dữ liệu, vị trí và ngày làm mới cuối cùng
Xem thông tin chi tiết và đề xuất chi tiết
Bạn có thể xem thông tin chi tiết và đề xuất chi tiết về các phiên bản có số lượng bàn mở cao bằng cách sử dụng bảng điều khiển Google Cloud, GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 7 hoặc API đề xuất
Để xem thông tin chi tiết và đề xuất chi tiết về các phiên bản gần đạt ngưỡng hiệu suất bằng cách sử dụng bảng điều khiển Google Cloud, hãy nhấp vào liên kết đề xuất trong danh sách các phiên bản Để xem thông tin chi tiết và đề xuất chi tiết về các phiên bản gần đạt ngưỡng hiệu suất bằng cách sử dụng GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
7, hãy chạy lệnh gcloud recommender insights list \
--project=PROJECT_ID \
--location=LOCATION \
--insight-type=google.cloudsql.instance.PerformanceInsight \
--filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
8 như sau Thay thế sau đây Để xem thông tin chi tiết và đề xuất chi tiết về các phiên bản có số lượng bảng mở cao bằng cách sử dụng API Đề xuất, hãy gọi phương thức GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfOpenTables/insights
2 như sau Thay thế sau đâyBảng điều khiển
gcloud CLI
API
- GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 9. ID dự án của bạn
- gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES 0. Một khu vực, chẳng hạn như gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES 1
Bảng sau đây liệt kê thông tin chi tiết và đề xuất mà công cụ đề xuất có số lượng bảng mở cao trên Cloud SQL tạo ra để giúp bạn cải thiện hiệu suất. Các loại phụ có thể nhìn thấy trong các kết quả của GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations 7 và API
Đề xuất thông tin chi tiết Số lượng bàn mở bằng với giá trị cờ table_open_cachetiểu loại. GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfOpenTables/insights 8Tăng hiệu suất phiên bản Cloud SQL bằng cách giảm số lượng bảng đang mở
tiểu loại. GET //recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfOpenTables/insights 9
Áp dụng đề xuất
Đánh giá các đề xuất một cách cẩn thận và thực hiện bất kỳ điều nào sau đây
Để kiểm tra phiên bản, hãy nhấp vào Xem phiên bản. Xem và làm theo các khuyến nghị
Để loại bỏ đề xuất sao cho nó không được nhấn mạnh và hiển thị mờ, hãy nhấp vào Loại bỏ
Để đóng bảng điều khiển mà không áp dụng hoặc loại bỏ đề xuất, hãy nhấp vào Hủy
Tối ưu hóa hiệu suất của phiên bản của bạn
Để tối ưu hóa hiệu suất của phiên bản, hãy làm như sau
Tìm giá trị của table_open_cache. Rất khó để tìm kích thước chính xác của cờ table_open_cache nhưng bạn có thể sử dụng các cách sau để ước lượng
Một cách để ước tính yêu cầu đối với các bảng mở là thông qua phân tích các truy vấn và luồng trong thời gian lưu lượng truy cập cao nhất. Bằng cách kiểm tra giá trị của biến table_open_cache = ( threads_connected * max number of table joins ) + K2 và phân tích các truy vấn để tìm số lượng liên kết tối đa, công thức sau đây có thể cung cấp kích thước ước tính của table_open_cache
table_open_cache = ( threads_connected * max number of table joins ) + KỞ đây, table_open_cache = ( threads_connected * max number of table joins ) + K4 là hằng số biểu thị số lượng bảng và tệp tạm thời bổ sung được tạo trong các hoạt động truy vấn khác nhau. Nếu không có phép nối nào được sử dụng trong bất kỳ truy vấn nào, thì mỗi luồng sẽ mở một bảng. Bạn có thể ước tính giá trị của table_open_cache bằng công thức sau. table_open_cache = threads_connected + KMột cách khác để ước tính giá trị của table_open_cache cho một khối lượng công việc nhất định là tăng giá trị của table_open_cache lên 500 cho đến khi đề xuất biến mất
Nếu giá trị của table_open_cache = ( threads_connected * max number of table joins ) + K8 lớn hơn table_open_cache, hãy tăng giá trị của table_open_cache lên giá trị của table_open_cache = ( threads_connected * max number of table joins ) + K8. Để biết thông tin về cách cập nhật cờ cơ sở dữ liệu, hãy xem
Làm cách nào để xem các bảng đang mở trong MySQL?
Để sử dụng lệnh SHOW TABLES, trước tiên bạn cần đăng nhập vào máy chủ MySQL. .Khi mở Máy khách dòng lệnh MySQL, hãy nhập mật khẩu của bạnChọn cơ sở dữ liệu cụ thểChạy lệnh SHOW TABLES để xem tất cả các bảng trong cơ sở dữ liệu đã được chọnLàm cách nào để mở bảng trong SQL?
Để xem dữ liệu bảng. .Trong SQL Developer, tìm kiếm một bảng như được mô tả trong "Xem bảng". .Chọn bảng chứa dữ liệu. .Trong ngăn đối tượng, bấm vào tab phụ Dữ liệu. .(Tùy chọn) Nhấp vào tên cột để sắp xếp dữ liệu theo cột đó(Tùy chọn) Nhấp vào tab phụ SQL để xem câu lệnh SQL xác định bảngLàm cách nào để tránh khóa bảng trong MySQL?
Tùy chọn thứ ba để ngăn khóa bảng với cơ sở dữ liệu MySQL là sử dụng AUTOCOMMIT ở cấp cơ sở dữ liệu . Điều này sẽ ngăn việc khóa bảng xảy ra ngoài ý muốn trong quá trình thực hiện báo cáo vì tất cả các giao dịch được thực hiện sau khi chúng được thực thi mà không cần thêm lệnh cam kết.Làm cách nào để đóng bảng trong MySQL?
Để xóa một bảng trong MySQL, hãy sử dụng câu lệnh DROP TABLE . Cú pháp cơ bản của lệnh như sau. DROP [TẠM THỜI] BẢNG [NẾU TỒN TẠI] tên_bảng [, tên_bảng] [HẠN CHẾ. CASCADE];