01/10/2018, 14:25
Ý tưởng cải thiện performance chức năng save khi chỉnh sửa nhiều dòng
Như giao diện bên dưới. Em muốn lúc nhấn nút save chỉ save những dòng mà có chỉnh sửa(thay đổi checkbox)
Hiện tại em đang làm là nhấn save là sẽ lưu toàn bộ dữ liệu. Performance khá kém nếu có nhiều dữ liệu.
Bác nào có ý tưởng gợi ý giúp - làm sao chỉ save những dòng có chỉnh sửa( chỉ cần ý tưởng).
Bài liên quan
Lưu lại trạng thái của tất cả các checkbox của từng dòng. Tạo 1 biến phụ chứa trạng thái trước khi ấn nút save, mỗi lần thay đổi gì thì ta tiến hành thay đổi trên biến phụ đó. Nếu có sự thay đổi nào so với trạng thái cũ thì save lại dòng đó.
Có 2 cách lưu trạng thái:
để kiểm tra sự thay đổi em phải tạo sự kiện check thay đổi cho mỗi checkbox luôn à bác. Hiện đang lưu mỗi dòng 1 id riêng dạng tăng dần.
Yes. Yes. Yes. Yes. Yes.
Em thử thấy phát hiện ra một điểm là muốn so sánh thay đổi dữ liệu thay đổi so với ban đầu. vậy mình phải lưu hết dữ liệu ban đầu ra mảng lại à bác.poor. @@
Mình đã nói rồi, không cần dùng mảng, có thể dùng bitmask bằng cách tạo 1 số nguyên (state) rồi thay đổi trên đó mà =))
Hi NhatTa.
Theo mình thì vấn đề không nằm ở đọc ghi file. VD thông tin cho 1 user : Tên 29 ký tự + quyền 1 ký tự vậy là 30 byte. có 1000 người + thêm header v.v.v… thì bạn có 1 file 30 kb nhỏ hơn kích thước cái ảnh bạn up lên. Trong trường hợp bạn có 10000 người thì bạn chia nó ra 10 file mỗi file 1000 người và lúc đó vấn đề là giao diện của bạn có load được 10000 người hay không thôi.
P/S Thường thì dùng CSDL hoặc giải pháp cache, buffer. Nhưng tốt nhất là test trước xem nghẽn ở đâu rồi nói chuyện tiếp.
mình dùng mongodb. ví dụ có 1000 dòng. loop 1000 lần lưu toàn bộ mỗi dòng xuống db.
Tính ra xử lý khá nhiều lúc save bên server.
Nếu mình chỉ edit có 1 2 dòng mà lưu toàn bộ thì không ổn
vậy xử lý ở client bằng js ấy, lúc lấy dữ liệu permission theo trang về thì trả về 1 cái list, lúc save thì so sánh bảng hiện tại với cái list ban đầu, rồi chỉ submit những user nào bị chỉnh sửa thôi. Mỗi trang chỉ lấy khoảng 10-20 user là được.
hoặc làm cái UI khác, chỉ search đúng tên thì mới set permission được, khỏi cần trả về list các user làm gì cho khổ
Hi NhatTa.
en.wikipedia.org
Vậy thì dùng bitmask là hợp lý rồi.
File system permissions
Most file systems have methods to assign permissions or access rights to specific users and groups of users. These permissions control the ability of the users to view, change, navigate, and execute the contents of the file system. Two types of permissions are very widely used: traditional Unix permissions date back many decades to the earliest days of Unix. They are universally available on all Unix and Linux derived platforms. Access Control Lists (ACLs) are more recent in origin and are uni...
Cảm ơn các bác đã giúp đỡ nhiệt tình. =))