2010-07-02 31 views
5

Các truy vấn mà tôi tạo thường xuyên có 7-8 kết nối để truy xuất dữ liệu. Có phải nhiều người này tham gia bình thường trong một ứng dụng cơ sở dữ liệu thực sự hay thiết kế cơ sở dữ liệu của tôi kém? Tôi tò mò vì nếu trên mỗi cơ sở dữ liệu yêu cầu phải làm rất nhiều công việc, thì sẽ không chết nếu vài nghìn khách hàng kết nối?Có bao nhiêu lần tham gia cho mỗi chức năng trong ứng dụng thế giới thực?

Trả lời

2

Theo tôi, không thể tránh khỏi trong một số trường hợp, điều quan trọng là phải có các chỉ mục chính xác cho các truy vấn bạn đang thực hiện. Với một đồ thị đối tượng sâu trong ORM, hoặc có lẽ một với các lớp con đã tham gia, nó sẽ dễ dàng đi qua 7-8 kết nối mà bạn nói đến. Tôi muốn nghe những gì mọi người khác nói về nó :)

+0

OP - một số điều phức tạp hơn trong ứng dụng của chúng tôi sử dụng hàng chục bảng. Chúng tôi cũng lập chỉ mục mọi thứ để phù hợp với chiến lược tham gia của chúng tôi. Bạn có thể muốn xem lại thiết kế của mình * nếu & khi * bạn nhận thấy sự cố. – DaveE

1

Không thể rút ra Kết luận về vấn đề này mà không có Chi tiết Logic ứng dụng. Nếu Logic ứng dụng của bạn dẫn bạn đến các kết nối không thể tránh khỏi để duy trì tính toàn vẹn Nó không phải là vấn đề và Nền tảng cơ sở dữ liệu của bạn phải xử lý nó.

1

Đó là rất nhiều sự tham gia. Thật khó để nói mà không nhìn thấy lược đồ của bạn, nhưng tôi đã thấy các trường hợp mà mọi người đã đi hạt khiến một giản đồ quá phức tạp. Tôi nhớ một ứng dụng tôi đã làm việc về nơi mà mọi địa chỉ và số điện thoại trong hệ thống được coi là một thực thể, và truy vấn thường xuyên tham gia tham gia của hơn một chục bảng. Bạn nên cẩn thận khi tạo lược đồ để phân biệt giữa những thứ bạn quan tâm theo dõi riêng và mọi thứ khác, nếu không bạn có thể kết thúc với sự phức tạp không cần thiết.

Các vấn đề liên quan