Почему доступ к .NET Sql Server осуществляется быстрее, чем взаимодействие с Excel?
-
05-07-2019 - |
Вопрос
Это может быть сложный вопрос, и за него могут проголосовать, но это меня полностью расстраивает.
Когда вы используете SQL Server в своей разработке, доступ к данным происходит быстро и эффективно, но когда вы используете COM для общения с Excel, это ужасно медленно.
Неважно, какую технологию доступа к данным вы используете, ADO, ADO.NET, LINQ, Entity Framework, Astoria (ADO.NET Службы передачи данных), все они быстрее, чем автоматизация Excel.
Если все, что вам нужно, это данные в ячейке "A1" из рабочей книги, вам нужен Excel.Приложение Excel.Рабочая книга, Excel.Рабочий лист и Excel.Диапазон объектов, просто чтобы получить одну точку данных.
WTF, почему общение с SQL Server более эффективно, чем общение с Excel?Excel является локальным, а Sql Server может и не быть.
ТИА Крис
Решение
Потому что запуск большого монолитного исполняемого файла, который был разработан как интерактивное приложение, происходит медленнее, чем обмен данными по быстрой сети с приложением, которое было разработано для этой цели.
Другие советы
Каждый раз, когда вам нужно подключиться к Excel, сервер должен фактически запускать программу Excel.Он находится на скрытом рабочем столе, но все равно запускает всю программу.Если у вас есть несколько человек, пользующихся сайтом, это также несколько экземпляров Excel.А если они используют одну и ту же рабочую тетрадь, это еще хуже.
Sql Server, с другой стороны, является уже работает.Просто подключайся и вперед.Он был построен для такого рода вещей.Excel таким не был.
Excel по-прежнему является com-интерфейсом, даже в 2007 году.но есть много помощников
excel-производительность-новая-технический документ-доступен
Это связано с тем, что SQL server предназначен для обработки данных сервера, Excel - нет.Задержка в сети здесь даже не будет иметь значения, пока вы не восстановите 1000, возможно, даже миллионы строк с SQL server