Thai-Tu-Shang
Senior Member
Chào các bác.
Chắc hẳn tất cả mọi người ở đây trong quá trình làm việc của mình đều gặp phải những bài toán khá khoai và hóc búa tới từ khách hàng.
Vậy giải pháp bạn đối mặt với nó là gì, bạn xử lý vấn đề đó ra sao và kinh nghiệm truyền lại là gì.
Hoặc cũng có thể bạn đang có một vấn đề mà chưa thể giải quyết
Mục đích tạo ra theard này nhằm chia sẻ nhiều hơn những bài toán và quan trọng hơn là tư duy giải quyết vấn đề trong ngành lập trình.
Mình xin chia sẻ trước bài toán mình gặp phải nhé:
Chắc hẳn tất cả mọi người ở đây trong quá trình làm việc của mình đều gặp phải những bài toán khá khoai và hóc búa tới từ khách hàng.
Vậy giải pháp bạn đối mặt với nó là gì, bạn xử lý vấn đề đó ra sao và kinh nghiệm truyền lại là gì.
Hoặc cũng có thể bạn đang có một vấn đề mà chưa thể giải quyết
Mục đích tạo ra theard này nhằm chia sẻ nhiều hơn những bài toán và quan trọng hơn là tư duy giải quyết vấn đề trong ngành lập trình.
Mình xin chia sẻ trước bài toán mình gặp phải nhé:
Mình có một hệ thống gồm rất nhiều bảng để xuất ra báo cáo khác nhau ( tầm 4 bảng với số lượng row liên quan khác nhau )
Một ngày đẹp trời, khách hàng muốn tích hợp thêm một phần mềm báo cáo bên ngoài về doanh số bán hàng của họ theo ngày/tuần/tháng.
Hệ thống đó sẽ xuất ra 1 file excel và nhiệm vụ của bên mình là cuối tuần họ sẽ import vào trong hệ thống khoảng 200k row và chia đều vào trong 4 bảng.
Vậy giải pháp cho bên mình là gì nhỉ ?
Solution:
Bên mình thực hiện tạo một bảng tạm có lưu tất cả dữ liệu của file excel đẩy vào. Sau đó thực hiện việc swap nó thành các bảng nhỏ tương ứng với từng row trong 4 bảng. Ví dụ bảng A chứa giá trị của table 1, B của table 2..
Tiếp đó thực hiện xử lý merge 2 bảng với nhau dưới tầng DB.
Vậy là tầng server bên mình chỉ xử lý mỗi phần import excel thôi. Còn xử lý đẩy dữ liệu vào như thế nào thì do tầng DB làm. Nó khá nhanh hơn cách truyền thống là xử lý tất cả ở tầng server.
Các bro có giải pháp nào hay hơn với vấn đề mình đưa ra không thì cứ chia sẻ nhé
Bên mình thực hiện tạo một bảng tạm có lưu tất cả dữ liệu của file excel đẩy vào. Sau đó thực hiện việc swap nó thành các bảng nhỏ tương ứng với từng row trong 4 bảng. Ví dụ bảng A chứa giá trị của table 1, B của table 2..
Tiếp đó thực hiện xử lý merge 2 bảng với nhau dưới tầng DB.
Vậy là tầng server bên mình chỉ xử lý mỗi phần import excel thôi. Còn xử lý đẩy dữ liệu vào như thế nào thì do tầng DB làm. Nó khá nhanh hơn cách truyền thống là xử lý tất cả ở tầng server.
Các bro có giải pháp nào hay hơn với vấn đề mình đưa ra không thì cứ chia sẻ nhé