Какой лучший способ работать с данными SQL Server не программно?

StackOverflow https://stackoverflow.com/questions/40344

  •  09-06-2019
  •  | 
  •  

Вопрос

У нас есть база данных SQL-сервера. Чтобы манипулировать данными не программно, я могу использовать SQL Server Management Studio, щелкнув правой кнопкой мыши таблицу и выбрав «Открыть таблицу». Однако это очень медленно для очень больших таблиц, а сортировка и фильтрация являются громоздкими.

Обычно то, что мы делали до сих пор, - это создание базы данных Access, содержащей связанные таблицы, которые указывают на таблицы и представления SQL Server. Таким образом, открытие большой таблицы происходит намного быстрее, а в Access предусмотрена простая в использовании фильтрация и сортировка правой кнопкой мыши.

Однако, начиная с Access 2007, сортировка в частности была довольно медленной при работе с большими таблицами. База данных Access также может непреднамеренно заблокировать таблицы базы данных, блокируя другие процессы, которые могут потребоваться для доступа к данным. Во-первых, создание базы данных Access и ее обновление при добавлении новых таблиц в SQL Server также утомительно.

Есть ли лучший способ работы с данными, обеспечивающий удобство использования Access без его недостатков?

Это было полезно?

Решение

Ответ Джоэла Кехорна, конечно, верен: если данные критически важны или их используют наивные пользователи, необходимо разработать интерфейс приложения. Это, как говорится, у меня есть случаи, когда мудрый пользователь (хорошо, я) пользователь должен просто войти туда и ковыряться.

Вместо непосредственного просмотра таблиц используйте MS Access, но используйте запросы, чтобы сузить область просмотра как по столбцам, так и по строкам. Это улучшит скорость. Затем отредактируйте свойства запроса и убедитесь, что запрос не имеет блокировки. Это должно устранить любое поведение блокировки. Вы можете захотеть ограничить количество возвращаемых строк, что снова улучшит скорость. Вы по-прежнему можете редактировать данные в запросе, просматривая его.

В зависимости от того, на что вы смотрите, может быть полезно настроить представления базы данных в SQL Server, чтобы выполнять некоторые тяжелые работы на сервере, а не на клиенте.

Другие советы

Я не знаю, насколько хорошо это будет работать с действительно большими таблицами, но Visual Studio намного быстрее, чем SQL Management Studio, для базовых операций с таблицами. Откройте свою базу данных в обозревателе серверов, щелкните правой кнопкой мыши таблицу и выберите либо " Открыть " просто отобразить данные или «Новый запрос»; фильтровать, сортировать и т. д.

Я использовал Visual Studio для выполнения многих задач, просто для удобства, вместо того, чтобы заходить на сервер и работать непосредственно с менеджером баз данных.

Однако пробовали ли вы жабу для MS SQL (от Quest Software)? Я все время использую его для Oracle, и у меня были хорошие результаты (часто лучше, чем у инструментов Oracle).

Редактировать необработанные данные опасно, нет-нет. Лучше определить ситуации, когда вы обнаружите, что делаете это, и собрать интерфейс приложения, который будет выступать в качестве посредника, который может помешать вам делать такие глупые вещи, как взлом внешнего ключа.

Я не знаю, как будет выглядеть производительность для больших наборов данных, но в open office есть программа базы данных (Base), которая является клоном Access и может быть именно тем, что вы ищете.

Вы можете прочитать Часто задаваемые вопросы об эффективности доступа Tony Toews , в которых содержится ряд советов по улучшению производительность в приложении Access. Возможно, один из этих советов решит проблему в вашем приложении A2K7.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top