2013-06-05 3 views
1

Я перерабатываю форму Oracle на страницу asp.net.Проверить использование хранимой процедуры лучше или выбрать команду в asp.net

Мой вопрос в том, есть ли какая-либо разница, если я использую хранимую процедуру и запускаю курсор или используя данные выборки OracleAdapter с помощью команды выбора?

Решение 1:

call a cursor in backend (stored procedure) 

Решение 2:

write select command 

OracleAdaptor oap = new OracleAdaptor(); 
oap.selectCommand = new OracleCommand(); 
oap.SelectCommand.CommandText = "Select v_name from table1 where v_name="+textbox1.text; 
oap.SelectCommand.CommandType = CommandType.Text; 

Ну в моей точки зрения, так это выбрать команду, вы бы мне помочь? Я хочу выбрать один из них.

Какой номер быстрее и рекомендуется?

База данных моего Oracle - 9i.

+2

Существует только один способ узнать ваш случай использования - сравните его. Повторите это много раз (скажем, миллион), чтобы вы могли получить более точные цифры. – mvp

+0

У кого-нибудь есть практическая практика или читать об этом где угодно? потому что в форме оракула рекомендуется использовать курсор вместо команды выбора, но на основе моего опыта ASP.net я использовал для записи команды выбора в asp.net-страницах и для получения данных, я хочу знать, что моя работа правильная или нет. Я должен использовать курсор , – Amir

+1

Сохраненный план выполнения кэширования процедур для запроса в базе данных, поэтому в большинстве случаев при последовательном запуске использование хранимой процедуры должно быть лучше, чем использование прямой команды на странице Asp.net. –

ответ

1

Для этой цели вы можете использовать класс Stopwatch.

вы можете запустить секундомер перед выполнением команды или хранимой процедуры.

И остановиться после выполнения.

Это вернет вам время, требуемое для выполнения.

Try 
{ 
    // Create new stopwatch 
    Stopwatch stopwatch = new Stopwatch(); 

    // Begin timing 
    stopwatch.Start(); 

    //command execution 

    stopwatch.Stop(); 

    Console.WriteLine("Time elapsed: {0}", 
    stopwatch.Elapsed); 

} 

Надеюсь, что это поможет.

+0

Спасибо за подсказку, ваш ответ с точки зрения скорости полезен, но мой вопрос касается и функциональности курсора. потому что в форме, если мы используем команду select вместо Cursor, мы иногда получаем ошибку. – Amir

+1

Ваш заголовок и содержание вопроса сильно различаются. – Freelancer

+0

модифицировано ....../... – Amir