Как я диагностирую проблемы производительности с SQL-оператором Oracle

  1. Создайте новый класс в вашей модели и свойствах LoginViewModel и RegisterViewModel:
    public class UserDefinedModel() 
    {
        property a1 as LoginViewModel 
        property a2 as RegisterViewModel 
    }
    
  2. Затем используйте UserDefinedModel в вашем представлении.
5
задан Mike McAllister 22 September 2008 в 20:38
поделиться

8 ответов

Используйте средство SQL Trace и TKPROF.

4
ответ дан 14 December 2019 в 09:05
поделиться

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

Я видел системы, где они отбрасывают индексы, прежде чем объем вставит, и восстановите в конце - и это быстрее.

2
ответ дан 14 December 2019 в 09:05
поделиться

Первая вещь понять состоит в том, что, как в документации говорится, стоимость, которую Вы видите отображенный, относительно одного из планов запросов. Затраты для 2 различных объясняют, не сопоставимы. Во-вторых, затраты основаны на внутренней оценке. Настолько же трудно, как Oracle пробует, те оценки не точны. Особенно не, когда оптимизатор неправильно себя ведет. Ваша ситуация предполагает, что существует два плана запросов, которые, по данным Oracle, очень близки в производительности. Но которые, на самом деле, работают очень по-другому.

Фактической информацией, на которую Вы хотите посмотреть, является фактическое, объясняют, планируют себя. Это говорит Вам точно, как Oracle выполняет тот запрос. Это имеет много технической gobbeldy-липкой-грязи, но о чем Вы действительно заботитесь, знает, что это работает от части самой с отступом, и на каждом шаге это объединяется согласно одному из небольшого количества правил. Это скажет Вам, что Oracle делает по-другому в Ваших двух экземплярах.

Что дальше? Хорошо существует множество стратегий настроить плохие операторы. Первая опция, которую я предложил бы, если Вы находитесь в Oracle 10 г, состоит в том, чтобы судить их настраивающего советника SQL, чтобы видеть, скажет ли более подробный анализ Oracle ошибку своих путей. Это может затем сохранить тот план, и Вы будете использовать более эффективный план.

Если Вы не можете сделать этого, или если это не работает, то необходимо войти в вещи как обеспечение подсказок запроса, руководство сохранило основы запроса, и т.п.. Это - сложная тема. Это - то, где это помогает иметь реальный DBA. Если Вы не сделаете, то Вы захотите начать читать документацию, но знаете, что существует много для изучения. (Oracle также имеет настраивающий класс SQL то есть, или по крайней мере используемый, чтобы быть, очень хороша. Это не дешево все же.)

1
ответ дан 14 December 2019 в 09:05
поделиться

Я поднял свой общий список вещей проверить для улучшения производительности как ответа на другой вопрос:

Любимые настраивающие приемы производительности

... Это могло бы быть полезно как контрольный список, даже при том, что это не является определенным для Oracle.

1
ответ дан 14 December 2019 в 09:05
поделиться

Я соглашаюсь с предыдущим плакатом, что SQL Trace и tkprof являются хорошим местом для запуска. Я также настоятельно рекомендую книжной Оптимизации Работу Oracle, которая обсуждает подобные инструменты для трассировки выполнения и анализа вывода.

0
ответ дан 14 December 2019 в 09:05
поделиться

SQL Trace и tkprof только хороши, если у Вас есть доступ к инструментам тезисов. Большинство крупных компаний, на которые я работаю, не позволяет разработчикам получать доступ к чему-либо в соответствии с идентификаторами Unix Oracle.

Я полагаю, что необходимо смочь определить проблему первым пониманием вопроса, который задают и путем чтения объяснить планов относительно каждого из запросов. Много раз я нахожу, что большая разница - то, что существуют некоторые таблицы и индексы, которые не были проанализированы.

0
ответ дан 14 December 2019 в 09:05
поделиться

Другая хорошая ссылка, которая представляет общую технику для оптимизации запросов, является книгой SQL, Настраивающийся Dan Tow.

0
ответ дан 14 December 2019 в 09:05
поделиться

Чтобы решить эту проблему в:

  • Visual studio (в то же решение): Linker> General> Use library Dependency Inputs = yes
  • Gcc: ссылка напрямую с файлами .o

Я не нашел решения, которое мне действительно нравится.

-1
ответ дан 14 December 2019 в 09:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: