В моем коде я выполняю 2 вида запросов, которые выполняю на Azure SQL Server через драйвер ODBC.Кажется, они выполняются очень медленно, независимо от того, что я делаю:
УДАЛИТЬ ИЗ [tableName] WHERE ID = id
INSERT INTO [tableName] (?, ...,?)OUTPUT Inserted.PK VALUES (val_0, ..., val_N)
Выполнение обоих запросов занимает 0,22-0,24 секунды, что приводит к очень низкой пропускной способности моей программы.
Запросынаходятся внутри одного и того же оператора using для повторного использования соединения:
using (OdbcConnection conn = new OdbcConnection(connectionString))
{
conn.Open();
... //commands here
}
Я пытался выполнить их следующими способами, все они занимали примерно одинаковое время (0,22-0,24 с) независимо от запроса или метода:
using (OdbcCommand cmd = new OdbcCommand([SqlCommand], conn))
cmd.ExecuteNonQuery();
.
using (OdbcCommand com = new OdbcCommand([SqlCommand], conn))
using (OdbcDataReader reader = com.ExecuteReader())
{
while (reader.Read())
{
primaryKey = reader.GetString(0);
}
}
.
using (OdbcCommand com = new OdbcCommand([SqlCommand], conn))
primaryKey = (long) com.ExecuteScalar();
ВОПРОС Как мне написать запросы, чтобы они выполнялись так быстро, как я ожидалих к? **