Thời gian tìm kiếm trong database phụ thuộc vào số lượng record?

mấy anh cho em hỏi thời gian tìm kiếm trong database sẽ tăng lên nếu số lượng record tăng lên đúng không ạ , nhưng sao em thấy chức năng đăng nhập của fb chạy nhanh vậy với số lượng người dùng cực khủng như nó thì querry để kiểm tra đăng nhập phải lâu chứ nhỉ .

Với cho em hỏi có phải nếu muốn tăng tốc độ thực thi querry thì ta tăng ram + dung lượng ổ cứng lên phải không ạ ( ở đây chỉ đang xét đến việc thực thi các câu querry ) , nếu đúng như vậy thì vì sao tăng ram tăng ổ cứng lại tăng tốc độ thực thi querry , nếu không đúng thì làm thế nào để tăng tốc độ thực thi querry ạ

và cho em hỏi 1 câu nữa ví dụ như khi ta mở 1 file hình ảnh photoshop thì tất cả dữ liệu của file đó sẽ được load thẳng lên ram , thì nếu ta dùng 1 máy 2 GB có load được 1 tấm ảnh 10GB không , và điều này có tương tự với việc querry các câu lệnh trong database không ví dụ : 1 csdl 1 tỷ bản ghi thì có thể chạy trện 1 máy chỉ có 1GB ram không

Hi Trinity.

  1. Đúng tuy nhiên đây là lúc thuật toán phát huy tác dụng các thuật toán chia để trị và các hệ cớ sở phân tán.
  2. Thêm CPU nữa. Nói chung cứ mạnh hơn thì nhanh hơn.
  3. Cái đó tùy thiết kế chương trình. Tuy nhiên bạn có thể đọc file log 4G trên iphone 4s (Thêm S cho nó mạnh @_@!)
2 Likes

Nếu db của bạn không đặt index thì độ phức tạp của query chắc chắn là O(n) với n là số lượng record (cứ thử skip và limit trên một bảng khổng lồ xem)
Nếu db của bạn có đặt index và bạn gọi query dựa trên index đó thì độ phức tạp thời gian hẳn là O(log(n)), không biết chính xác được nhưng nó gần như thế. Facebook tất nhiên họ phải dùng index bằng cách này hoặc cách khác.
Db lớn thì người ta cắt ra làm nhiều db song song.
Ram nhiều thì có thể load 1 phần db vào ram, tốc độ truy cập ram hiển nhiên là nhanh hơn tốc độ ổ cứng. (Tốc độ ổ cứng < Tốc độ ram < Tốc độ CPU Cache < Tốc độ Register)
Làm sao mà bạn dám chắc là Photoshop nạp hết dữ liệu vào RAM? Ngay chính hệ điều hành Windows nó vẫn luôn dành một vài Gigabyte trên ổ cứng để làm bộ nhớ cùng với ram đấy, dù ram nhiều ram ít, dù đang thừa ram hay không.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?