Есть ли снижение производительности при использовании файлов MDF SQL Server вместо «базы данных»? - PullRequest
0 голосов
/ 29 мая 2009

В настоящее время мой сайт написан в ASP.NET Webforms с использованием базы данных SQL Server. Я планирую создать приложение ASP.NET MVC не потому, что оно лучше, а потому, что я хочу изучить технологию. Мой вопрос более конкретен для базы данных. Я могу создать базу данных и импортировать свою таблицу SQL через функцию импорта веб-интерфейса в базу данных SQL или использовать файл MDF «локальной» базы данных. Мне нравится идея использования файла MDF, потому что с ним будет проще создавать резервные копии. Мой сайт не получает много трафика ... на самом деле я мог быть единственным пользователем. :) Теперь вот вопрос.

Какой удар по производительности я получу, используя вместо этого локальный файл MDF SQL Server для своей базы данных?

Ответы [ 5 ]

3 голосов
/ 29 мая 2009

Эффективно нет. Или на самом деле не более, чем запуск БД в том же окне, что и веб-сайт. Это все еще база данных Sql Server Express. Что касается производства, вы, вероятно, хотите, чтобы БД работала в отдельном блоке, предназначенном для обслуживания баз данных. Но с точки зрения кода, единственной разницей будет ваша строка подключения.

2 голосов
/ 29 мая 2009

SQL Server использует файл MDF для каждой базы данных на своем сервере. Нет никакой разницы между файлом MDF и «базой данных», потому что «база данных» в любом случае сохраняется в файле MDF.

1 голос
/ 29 мая 2009

Производительность, если вы не видите разницы.

Самая большая проблема связана с развертыванием и управлением производством. Гораздо проще управлять стандартной базой данных, чем динамически подключаемым .mdf.

0 голосов
/ 29 мая 2009

Единственное отличие от обычных ограничений ресурсов для Express-версии SQL Server заключается в незначительной стоимости запуска, в то время как механизм SQL Express подключается к файлу MDF, выполняет свои обычные проверки целостности файлов и содержимого журнала транзакций.

Это должно происходить только при запуске приложения, а не для каждого запроса.

0 голосов
/ 29 мая 2009

Кроме того, не забывайте, что ваш веб-хостинг также должен поддерживать это. А поскольку SQL Server Express является единственным SKU, который поддерживает базы данных «пользовательских экземпляров», на хосте должен быть установлен Express, чтобы вы могли использовать его как есть. OTOH, вы можете разработать его таким образом, а затем просто развернуть базу данных и изменить строку подключения при развертывании на веб-хосте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...