/ / Linq to SQL: оптимизиране на заявки със Sql Server Compact Edition - производителност, linq-to-sql, оптимизация, памет, sql-server-ce

Linq to SQL: оптимизиране на заявки със Sql Server Compact Edition - производителност, linq-to-sql, оптимизация, памет, sql-server-ce

Използвах Linq за SQL срещу Sql Server CE.

Базата данни е само за четене, така че мога да имам няколко предположения.

За да се въздържат от достъп до файловата система, първоначалният ми подход бе да кешира необходимите обекти в паметта на приложенията и да използва linq към обекти срещу тях.

Въпреки че работи добре за ограничени заявки, директно използване на LINQ към SQL е по-добро от Linq към обекти, когато се присъедини, когато е необходимо.

Върнете се в началната точка, искам да оптимизирам изпълненията си, моята мисъл сега е да наложа зареждането на целия файл в оперативната памет и да се използва Linq срещу SQL срещу него.

Какви мисли за това? Още ли идеи?

Ариел

Отговори:

1 за отговор № 1

Изглежда, че вашият проблем е изпълнението на sql index / foreign key vs. performance iterator.

Linq to Datasets предлага начин за запазване(по-конкретно ADO.net Datasets има колекция от връзки) и може да наложи първичен ключ, чужд ключ и уникални ограничения. Така че тяхното свързване трябва да е подобно на Linq към SQL, но ще се изпълнява в паметта.

От моето разбиране за реализациите на Lite sql, транзакциите могат да окажат голямо влияние върху производителността, така че просто да започнете връзката си

BEGIN TRANSACTION

може да има значително въздействие, ако можете да оставите връзката отворена за всички ваши заявки. Бенчмаркингът вероятно е единственият сигурен начин да отговорите на този въпрос.


0 за отговор № 2

Опита ли Linq към DataSet?

можете да заредите всичко в паметта и да използвате заявката в Linq

Нямам представа дали съединението ще работи както искате