2008-09-02 14 views
5

Mamy bazę danych serwera SQL. Aby manipulować danymi niesystematycznie, mogę użyć programu SQL Server Management Studio, klikając prawym przyciskiem myszy tabelę i wybierając "Otwórz tabelę". Jest to jednak powolne w przypadku bardzo dużych tabel, a sortowanie i filtrowanie jest uciążliwe.Jaki jest najlepszy sposób pracy z danymi SQL Server w sposób nie programowy?

Zazwyczaj to, co do tej pory zrobiliśmy, to utworzenie bazy danych programu Access zawierającej połączone tabele, które wskazują tabele i widoki SQL Server. Otwarcie dużego stołu jest w ten sposób znacznie szybsze, a program Access ma łatwe w użyciu filtrowanie i sortowanie po kliknięciu prawym przyciskiem myszy.

Jednak od czasu programu Access 2007 sortowanie było wyjątkowo powolne podczas pracy z dużymi tabelami. Baza danych programu Access może również przypadkowo zablokować tabele bazy danych, blokując inne procesy, które mogą wymagać dostępu do danych. Stworzenie bazy danych Access w pierwszej kolejności i uaktualnienie jej po dodaniu nowych tabel do SQL Server jest również żmudne.

Czy istnieje lepszy sposób pracy z danymi, które oferują użyteczność Access bez jego wad?

+0

Właśnie wydano poprawkę dla programu Access 2007, która może rozwiązać problem z wydajnością. Szczegółowe informacje można znaleźć na stronie http://support.microsoft.com/kb/956054.Ale może rozwiązać problem tylko w formularzach, a nie w widoku arkusza danych. –

Odpowiedz

2

Odpowiedź Joela Coehoorna jest oczywiście poprawna, że ​​jeśli dane są krytyczne lub naiwni użytkownicy używają danych, należy rozwinąć interfejs aplikacji. Biorąc to pod uwagę, mam przypadki, w których mądry użytkownik (ok, ja) musi po prostu wejść i kręcić.

Zamiast bezpośrednio patrzeć na stoły, użyj MS Access, ale użyj zapytań, aby zawęzić to, co przeglądasz zarówno w kolumnach, jak i wierszach. To polepszy prędkość. Następnie edytuj właściwości zapytania i upewnij się, że zapytanie to Brak blokady. To powinno wyeliminować wszelkie blokujące zachowanie. Możesz ograniczyć liczbę zwracanych wierszy, co jeszcze poprawi prędkość. Nadal możesz edytować dane w zapytaniu, gdy je obejrzysz.

Zależnie od tego, na co patrzysz, może być również przydatne ustawienie widoków bazy danych na serwerze SQL Server, aby wykonać niektóre operacje podnoszenia ciężarów na serwerze, a nie na kliencie.

0

Nie wiem, jak dobrze to zrobi z dużymi tabelami, ale Visual Studio jest znacznie szybsze niż SQL Management Studio dla podstawowych operacji na stole. Otwórz bazę danych w Eksploratorze serwerów, kliknij prawym przyciskiem myszy tabelę i wybierz "Otwórz", aby wyświetlić tylko dane lub "Nowe zapytanie", aby filtrować, sortować itd.

+0

Visual Studio zajęło kilka minut, aby otworzyć tabelę z 600 000 wierszy, która jest rzeczywiście nieco wolniejsza niż SSMS. Filtrowanie jest uciążliwe w porównaniu z dostępem. Dzięki i tak za sugestię. –

0

Edycja danych nieprzetworzonych jest niebezpieczna. Nie. Lepiej zidentyfikować sytuacje, w których to robisz, i złożyć interfejs aplikacji, aby działać jako pośrednik, który może powstrzymać cię od robienia głupich rzeczy, takich jak łamanie obcego klucza.

+0

"DBMS powinien zawsze egzekwować ograniczenia, które może wymusić, zamiast polegać na aplikacjach, aby powstrzymać się od zapisywania danych, które naruszają ograniczenia." Jak złamiesz klucz obcy? – onedaywhen

0

Nie wiem, jaka byłaby wydajność dla dużych zestawów danych, ale otwarte biuro ma program bazy danych (baza), który jest klonem dostępu i może po prostu być tym, czego szukasz.

1

Używałem Visual Studio do robienia wielu rzeczy, tylko dla wygody, zamiast logować się do serwera i bezpośrednio pracować z menedżerem bazy danych.

Czy próbowałeś już Ropucha dla MS SQL (z Quest Software)? Używam go cały czas dla Oracle i mam dobre wyniki (często lepsze niż narzędzia Oracle).

0

Być może zechcesz przeczytać Tony Toews's Access Performance FAQ, który zawiera wiele wskazówek, jak poprawić wydajność w aplikacji Access. Być może jedna z tych porad rozwiąże problem w twojej aplikacji A2K7.