У меня есть веб-форма, которая обращается в базе данных к таблице, в которой почти 50 полей и записей свыше 8 миллионов. Бывают случаи, при которых веб-форма долго выполняет запрос объектом OleDbDataReader
(зачастую при первой загрузке).
Сам запрос не сложный. пример:
SELECT distinct CALIBRATION_DATE, NTD_NAME, TECHCHART_NUMBER, SOP_NAME, DIAMETER, THICKNESS, CHANNEL1, CHANNEL2, CHANNEL3,
CHANNEL4, CHANNEL5, CHANNEL6, CHANNEL7, CHANNEL8, WORKPLACE_ID FROM USC_OTDELKA
WHERE (WORKPLACE_ID=16)and(CALIBRATION_DATE>=TO_DATE('28.10.2019 07:00:00','dd.mm.yyyy HH24:MI:ss'))and(CALIBRATION_DATE<TO_DATE('28.10.2019 19:00:00','dd.mm.yyyy HH24:MI:ss'))and(EDIT_STATE=0)
ORDER BY CALIBRATION_DATE
как это выглядит в aspx.cs форме:
OleDbConnection conn = Master.Connect.ORACLE();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = @"SELECT distinct CALIBRATION_DATE, NTD_NAME, TECHCHART_NUMBER, SOP_NAME, DIAMETER, THICKNESS, CHANNEL1, CHANNEL2, CHANNEL3,
CHANNEL4, CHANNEL5, CHANNEL6, CHANNEL7, CHANNEL8, WORKPLACE_ID FROM USC_OTDELKA
WHERE (WORKPLACE_ID=?)and(CALIBRATION_DATE>=?)and(CALIBRATION_DATE<?)and(EDIT_STATE=0)
ORDER BY CALIBRATION_DATE";
cmd.Parameters.AddWithValue("WORKPLACE_ID", WorkplaceID);
cmd.Parameters.AddWithValue("DATE1", dat1);
cmd.Parameters.AddWithValue("DATE2", dat2);
OleDbDataReader rdr = cmd.ExecuteReader();
Почему вообще происходит такой случай, как долгая выборка запроса в веб-форме? Это уже виноват OleDbDataReader
? Проблем из oracle с запросом не наблюдал, а вот в веб-форме бывает долго подгружает. Индексы в таблице присутствуют, работают корректно
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотел бы использовать универсальную функцию для вывода гистограммыТ
Не совсем понимаю, почему не получается подключить класс к GridResources