Скорость LINQ to SQL (CE) по сравнению с SqlCe - PullRequest
1 голос
/ 10 июля 2009

Я создаю приложение, которое будет анализировать данные в реальном времени, которые были сохранены в базе данных SQL CE. Когда я тестирую приложение в его нынешнем виде с LINQ to SQL, я получаю медленные результаты и мне нужно переосмыслить, как это сделать.

Чтобы сэкономить мне время, могу ли я поверить, что L2S работает так же быстро, как и "старые" методы SqlCe? Мне нравится L2S, и я бы предпочел остаться с ним, и если ваш опыт говорит, что он такой же быстрый, как и любое другое соединение с БД, я могу быть уверен, что не увеличу производительность, переписав L2S на старые операторы SQL.

Ответы [ 2 ]

2 голосов
/ 11 июля 2009

Если вы используете SQL CE , это видео с прошлогоднего PDC очень информативно. Идея о том, как оптимизировать запросы для полноценного SQL Server, не всегда применима, а иногда и снижает производительность в SQL CE.

Я бы порекомендовал вам посмотреть его, так как докладчик объясняет различия и проводит тесты, чтобы показать результаты. Здесь вы можете найти ссылку на его блог.

2 голосов
/ 10 июля 2009

Узкие места при использовании SqlCE не связаны с SQL, генерируемым из Linq в Sql. Помните, что CE находится в процессе обработки и поэтому имеет свои ограничения. Например, LEFT OUTTER JOINS являются бедствием независимо от того, что вы используете для его запроса. Вставки и обновления - это неплохо, но, опять же, если вы будете выполнять большое количество одного из них, у вас будут серьезные проблемы с производительностью. Суть в том, что медлительность не из-за LINQ to SQL. Я тестировал его в прошлом (не знаю, есть ли у меня этот код), и, насколько я помню, Linq to SQL не медленнее, чем прямые запросы к ADO.NET. Проблемы с производительностью связаны с ограничениями самого CE.

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