У меня есть функция sql, которая ищет родителя определенного узла в левом дереве справа. Это занимает много времени. Если я создаю представление, которое хранит для каждого узла его родителя, это ускорит работу? (Я бы попросил представление получить родительский узел).Можете ли вы улучшить производительность с помощью представлений sqlserver?
ответ
Вид (и основная функция) будет пересматриваться каждый раз при его доступе, поэтому создание представления ничего не улучшит.
В самом деле, вы, скорее всего, ускорить процесс, удалив UDF
и просто использовать это, чтобы найти свой родительский узел:
SELECT mpp.id
FROM mytable mc
CROSS APPLY
(
SELECT TOP 1 id
FROM mytable mp
WHERE mp.lft BETWEEN m.lft AND m.rgt
ORDER BY
mp.lft DESC
) mpp
, особенно если у вас есть индекс по lft
, который охватывает также rgt
:
CREATE INDEX ON mytable (lft) INCLUDE (rgt)
Вложенные модели модели не очень эффективны для SQL Server
. Он был разработан для устаревшей системы, которая не позволяет рекурсивных запросов, но для большинства современных списков смежности систем баз данных гораздо эффективнее.
Смотрите эту статью в своем блоге подробности:
Да, это должно ускорить процесс. Имейте представление, возвращающее дочерний идентификатор пользователя и . Дополнительная информация.
Таким образом, вы можете присоединиться к вашему столу к виду, используя идентификатор ребенка .
- 1. Lua Challenge: Можете ли вы улучшить производительность реализации спектральных норм?
- 2. Lua Challenge: Можете ли вы улучшить производительность реализации fannkuch?
- 3. Можете ли вы улучшить производительность этого метода linq-to-xml?
- 4. Как вы можете улучшить производительность MySQL в этом простом сценарии?
- 5. Можете ли вы проверить производительность программы, работающей с Qemu Simulator?
- 6. Как улучшить производительность с помощью идиом F #
- 7. SqlServer Express медленная производительность
- 8. Как улучшить производительность OTRS?
- 9. Можно ли улучшить производительность syslog?
- 10. Может ли параллелизм улучшить производительность?
- 11. Как улучшить производительность WMI с помощью delphi?
- 12. Как улучшить производительность с помощью словаря?
- 13. Как улучшить производительность Sinatra с помощью HAML?
- 14. Как улучшить производительность с помощью многопоточности?
- 15. Как улучшить производительность с помощью GCD
- 16. Как улучшить производительность Apache с помощью mod_wsgi?
- 17. Можете ли вы улучшить эти «строки алгоритма кода» в F #?
- 18. Общий контроллер объекта в MVC, можете ли вы улучшить код?
- 19. Можете ли вы улучшить этот код регулярного выражения C#?
- 20. Можете ли вы улучшить обновление mysql с двумя встроенными выборами с помощью соединений?
- 21. Улучшить производительность строкового построителя
- 22. Можно ли улучшить производительность отслеживания объектов DbLinq?
- 23. Как улучшить производительность процесса?
- 24. Возможно ли улучшить производительность этой техники рисования?
- 25. Как улучшить производительность purePDF?
- 26. Как улучшить производительность GWT?
- 27. Можете ли вы улучшить mySQL-запрос с помощью нескольких GROUP BY
- 28. как улучшить производительность JSON
- 29. Как улучшить производительность NSDictionary
- 30. Как улучшить производительность Solr?