Tối ưu CSDL

Nơi các thành viên thảo luận các vấn đề liên quan đến phân tích Cơ Sở Dữ Liệu cho ứng dụng
Trả lời
Hình đại diện của người dùng
ntgiang
Bài viết: 1
Ngày tham gia: T.Tư Tháng 4 12, 2017 8:18 pm

T.Bảy Tháng 4 22, 2017 7:33 pm

Mình có CSDL như sau:
sodo.png
sodo.png (28.82 KiB) Đã xem 344 lần
Mình cần lấy dữ liệu như sau
ketqua.png
ketqua.png (60.89 KiB) Đã xem 344 lần
Cách thực hiện của mình : là lấy ra 10 hội viên dựa vào các điều kiện lọc. Sau đó dùng vòng lặp để tìm các tổ chức khác mà hội viên này phải tham gia.
Tuy nhiên thời gian thực hiện rất lâu thời gian thực hiện đối 1 user trên 1p, khi có nhiều user truy xuất hệ thống rất chậm.
Anh chị em ai biết giúp mình tối ưu CSDL với, hoặc có cách làm để truy xuất dữ liệu nhanh hơn
Dữ liệu hiện tại bảng HoiVien trên 300.000 record, HoiVienToChuc trên 400.000 record, ToChuc trên 950 record.

Hình đại diện của người dùng
khoanguyen
Bài viết: 15
Ngày tham gia: T.Ba Tháng 4 11, 2017 4:33 pm
Đến từ: http://google.com
Been thanked: 2 time

T.Bảy Tháng 4 22, 2017 11:49 pm

Hiện tại như bạn nói thì hệ thống đang chạy, cấu trúc table khó có thể thay đổi được.
Bạn thử đánh index các field quan hệ xem. Kiểm tra các field nào chỉ lưu trữ số không thì đã là kiểu int chưa, char thì set đúng độ dài cần thiết.
Và optimize các dòng code lại.
Quan hệ 3 bảng như vầy 400k records ko phải là nhiều đâu bạn.
Nếu đã thử hết và ko đổi được structure của database bạn có thể suy nghĩ tiếp đến Search Engine ví dụ như Elastic Search
Nothing is impossible, keep moving forward!!!

Hình đại diện của người dùng
kietcuabe01
Bài viết: 1
Ngày tham gia: T.Tư Tháng 4 12, 2017 10:18 pm
Đến từ: Nha Trang - Sài Gòn

T.Ba Tháng 4 25, 2017 8:53 am

Cho mình xem câu query của bạn đi.

"Sau đó dùng vòng lặp để tìm các tổ chức khác mà hội viên này phải tham gia." --> chỗ này của bạn là loop PHP để query hay chỉ loop PHP duyệt mảng thôi.

Hình đại diện của người dùng
phucbv
Bài viết: 13
Ngày tham gia: T.Tư Tháng 4 12, 2017 10:00 pm
Đến từ: Đắk Lắk
Liên hệ:

T.Năm Tháng 4 27, 2017 2:56 pm

Hix. Mình cũng gặp trường hợp tương tự. có cao thủ nào gúp tối ưu db này hok.

Trả lời
  • Thông tin
  • Đang trực tuyến

    Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách