Я занимаюсь разработкой приложения, использующего базу данных SQL Server CE, и у меня возникают проблемы с выполнением запросов.Например, простой запрос, который получает последний заказ клиента:
SELECT
Customer.Name, Orders.Amount AS LastOrderAmount
FROM
Customers
LEFT JOIN
Orders ON Orders.OrderId IN (SELECT TOP(1) OrderId
FROM Orders
WHERE CustomerId = Customer.CustomerId
ORDER BY OrderNum DESC)
Этот запрос невероятно медленный.Всего 30 заказчиков и около 300 заказов на завершение работы занимает почти 10 секунд!
Я запрашиваю запрос, используя SqlCEDataAdapter
.Я также пытался использовать SqlCeResultSet
, но разница незначительна.Кроме того, у меня есть индекс на Orders.CustomerId
(хотя его создание не имело большого значения).
Теперь я не ожидаю чудес от SQL Server CE, но это просто ужасно.Итак, что я могу сделать, чтобы улучшить производительность, или это ТОЛЬКО медленно?