Tối ưu cơ sở dữ liệu

Discussion in 'Hỏi Đáp Kỹ Thuật' started by mankun_noob, Jun 12, 2023.

  1. mankun_noob

    mankun_noob Tân Thủ Thôn

    Em có làm con web truyện , hiện có khoảng 2m chap (nếu mà crawl hết). Nhưng db của em đang thiết kế theo hướng 1 link ảnh sẽ là 1 record. Giả sử mỗi chap có 10 link ảnh vậy thì nguyên bảng chapter_link của em đã có 20 triệu dòng. Em muốn hỏi là nên để như vậy hay là chuyển về cách gộp tất cả link ảnh của 1 chap thành 1 record(các theme truyện đều lam,f thêo cách này).Ngoài ra em cũng muốn hỏi ưu và nhược điểm của 2 cách trên ạ.Do code đi lụm trên mạng nên em cũng không rõ tại sao họ thiết kế db như vậy
     
  2. wpresources

    wpresources Bang Chúng

    Lưu một từng ảnh hoặc lưu tất đều được.Vì mỗi cháp là đọc tất cả số ảnh liên quan đến cháp cũng không có tính toán hay liên quan dữ liệu cháp khác nên lưu tất sẽ đúng hơn.Nhưng nếu lưu nhiều cháp và nhiều truyện thì database sẽ rất lớn đọc database sẽ lâu nên thay vì lưu tất cả số ảnh trong cháp trong database bạn nên thay đổi lưu nó trong file database chỉ chứa đường dẫn đến file đó thôi.
     
  3. firefox

    firefox Bang Chúng

    tiết kiệm dễ mà, ở bảng chap, bạn lưu thêm field TotalImages, các ảnh bạn lưu dạng /chapid/1.jpg , /chapid/2.jpg , /chapid/3.jpg .....
     
  4. mankun_noob

    mankun_noob Tân Thủ Thôn

    Ý bác là lưu kiểu cho tất cả ảnh của 1 chương vào trong 1 file json chẳng hạn đúng không bác
    --- Double Post Merged, Jun 12, 2023, Original Post Date: Jun 12, 2023 ---
    https://upanh.org/image/147.Utlp60 Hiện em đang lưu theo kiểu này :
    Giải sử db có 3 bảng chính : db_comic ; dm_chapter ; db_img
    thì ở bảng db_chapter sẽ có tên chapter và số ảnh của chap . CÒn ở db_img thì sẽ có các ảnh , mỗi ảnh là 1 record . Vậy nên nếu có 2 triệu chap thì ở db_img của em sẽ có khoảng 20 triệu dòng lưu link ảnh
     
  5. kenyc

    kenyc Tân Thủ Thôn

    Mình làm thì lưu vào 1 record thôi, link cách nhau bằng dấu ;
    Vì:
    - Đỡ phải request nhiều
    - Đỡ nặng DB
    - Chưa tìm thấy ưu điểm gì nếu lưu riêng từng link ảnh
     
  6. Lệnh Hồ Bơi

    Lệnh Hồ Bơi Tân Thủ Thôn

    có thể database họ thiết kể dành cho xem trang đơn. cứ next trang khác thì lại lấy 1 record từ db. Có thể db này trước đây là website để lưu mấy cái ảnh wallpapers
     
  7. wpresources

    wpresources Bang Chúng

    Ví dụ bảng chap
    +chap 1 : lưu image_url_1,image_url_2,....image_url_n
    +chap 2 : lưu image_url_1,image_url_2,....image_url_n
    ....
    Thì mình sẽ lưu thông tin image_url_1,image_url_2,....image_url_n=>ra một file chap1.txt
    Thay vì lưu trong database là
    +chap 1 : lưu image_url_1,image_url_2,....image_url_n
    sẽ thành
    +chap 1 : chap1.txt
    =>Nếu là mình lưu một số lượng truyện lớn sẽ làm thế,ít thì không cần,có thể các pro có cách hay hơn.Còn nội dung là txt,csv,json...là tùy bạn chọn.