2008-09-02 16 views
5

Chúng tôi có một cơ sở dữ liệu máy chủ SQL. Để thao tác dữ liệu không theo lập trình, tôi có thể sử dụng SQL Server Management Studio bằng cách nhấp chuột phải vào một bảng và chọn "Open Table". Tuy nhiên điều này là chậm cho các bảng rất lớn và phân loại và lọc là cồng kềnh.Cách tốt nhất để làm việc với dữ liệu SQL Server không theo chương trình là gì?

Thông thường những gì chúng tôi đã làm cho đến bây giờ là tạo cơ sở dữ liệu Access có chứa các bảng được nối kết trỏ đến các bảng và dạng xem SQL Server. Việc mở một bảng lớn nhanh hơn rất nhiều theo cách này và Access có khả năng lọc và phân loại cú nhấp chuột dễ sử dụng.

Tuy nhiên, vì Access 2007, phân loại đặc biệt khá chậm khi làm việc với các bảng lớn. Cơ sở dữ liệu Access cũng có thể vô tình khóa các bảng cơ sở dữ liệu, chặn các quá trình khác có thể cần truy cập dữ liệu. Tạo cơ sở dữ liệu Access ở nơi đầu tiên và cập nhật nó khi các bảng mới được thêm vào SQL Server, cũng rất tẻ nhạt.

Có cách nào tốt hơn để làm việc với dữ liệu cung cấp khả năng sử dụng của Access mà không có nhược điểm của Access không?

+0

Một hotfix vừa được phát hành cho Access 2007 có thể giải quyết vấn đề hiệu suất bạn đã có. Xem http://support.microsoft.com/kb/956054 để biết chi tiết.Nhưng nó chỉ có thể giải quyết vấn đề trong biểu mẫu, không phải trong dạng xem biểu dữ liệu. –

Trả lời

2

Câu trả lời của Joel Coehoorn tất nhiên là đúng, nếu dữ liệu là quan trọng hoặc có người dùng ngây thơ sử dụng dữ liệu, thì cần phải phát triển giao diện người dùng. Điều đó đang được nói, tôi có trường hợp mà một người dùng khôn ngoan (ok, tôi) người dùng cần phải chỉ nhận được trong đó và poke xung quanh.

Thay vì xem trực tiếp các bảng, hãy sử dụng MS Access nhưng sử dụng truy vấn để thu hẹp những gì bạn đang xem xét cả hai cột khôn ngoan và hàng khôn ngoan. Điều đó sẽ cải thiện tốc độ. Sau đó chỉnh sửa thuộc tính truy vấn và đảm bảo rằng truy vấn là Không có khóa. Điều đó sẽ loại bỏ bất kỳ hành vi chặn nào. Bạn có thể muốn giới hạn số lượng hàng được trả lại mà một lần nữa sẽ cải thiện tốc độ. Bạn vẫn có thể chỉnh sửa dữ liệu trong truy vấn khi bạn xem nó.

Tùy thuộc vào nội dung bạn đang xem, cũng có thể hữu ích khi thiết lập Chế độ xem cơ sở dữ liệu trong SQL Server để thực hiện một số thao tác nâng hạng nặng trên máy chủ thay vì trên máy khách.

0

Tôi không biết nó sẽ hoạt động tốt như thế nào với các bảng thực sự lớn, nhưng Visual Studio nhanh hơn nhiều so với SQL Management Studio cho các thao tác bảng cơ bản. Mở cơ sở dữ liệu của bạn trong Server Explorer, nhấp chuột phải vào một bảng và chọn "Mở" để chỉ hiển thị dữ liệu hoặc "Truy vấn mới" để lọc, sắp xếp, v.v.

+0

Visual Studio mất vài phút để mở một bảng với 600.000 hàng, thực sự chậm hơn một chút so với SSMS. Và việc lọc rất cồng kềnh so với Access. Cảm ơn anyway cho đề nghị. –

0

Chỉnh sửa dữ liệu thô là không nguy hiểm Không. Tốt hơn để xác định các tình huống mà bạn thấy mình làm điều đó và đặt cùng một giao diện ứng dụng để hoạt động như một trung gian có thể ngăn cản bạn làm những việc ngu ngốc như phá vỡ khóa ngoại.

+0

"Các DBMS nên luôn luôn thực thi các ràng buộc mà nó có thể thực thi, thay vì dựa vào các ứng dụng để tránh viết dữ liệu vi phạm các ràng buộc." Làm thế nào để bạn phá vỡ một khóa nước ngoài? – onedaywhen

0

Tôi không biết hiệu suất sẽ như thế nào đối với các tập dữ liệu lớn, nhưng văn phòng mở có chương trình cơ sở dữ liệu (Base), là bản sao Access và có thể chỉ là những gì bạn đang tìm kiếm.

1

Tôi đã sử dụng Visual Studio để thực hiện rất nhiều thứ, chỉ để thuận tiện hơn là phải đăng nhập vào máy chủ và làm việc trực tiếp trên trình quản lý cơ sở dữ liệu.

Tuy nhiên, bạn đã thử Toad cho MS SQL (từ phần mềm Quest) chưa? Tôi sử dụng nó tất cả thời gian cho Oracle, và đã có kết quả tốt (thường tốt hơn so với các công cụ của Oracle).

0

Bạn có thể muốn đọc Tony Toews's Access Performance FAQ, cung cấp một số gợi ý về cách cải thiện hiệu suất trong ứng dụng Access. Có lẽ một trong những mẹo đó sẽ giải quyết vấn đề trong ứng dụng A2K7 của bạn.