Какой лучший способ работать с данными SQL Server не программно?
-
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.