Чтобы продолжить предложение Тео с моими выводами (извинения - у меня в настоящее время недостаточно репутации, чтобы опубликовать это в качестве комментария)
Во-первых, это как использовать несколько именованных параметров:
String commandString = "INSERT INTO Users (Name, Desk, UpdateTime) VALUES (:Name, :Desk, :UpdateTime)";
using (OracleCommand command = new OracleCommand(commandString, _connection, _transaction))
{
command.Parameters.Add("Name", OracleType.VarChar, 50).Value = strategy;
command.Parameters.Add("Desk", OracleType.VarChar, 50).Value = deskName ?? OracleString.Null;
command.Parameters.Add("UpdateTime", OracleType.DateTime).Value = updated;
command.ExecuteNonQuery();
}
Однако, я не видел изменений в скорости между:
Я использую System.Data.OracleClient, удаляя и вставляя 2500 строк внутри транзакции
Это не int и не guid; из файла справки MSDN ...
Идентификатор сессии ASP.NET - это случайно сгенерированное число, закодированное в 24-символьную строку, состоящую из строчных символов от a до z и чисел от 0 до 5.
Поскольку он сгенерирован как System.Guid Valuetype, это 128-битное целое число, равное 16 байтам.
Я бы пошел с 88 байтами. Если вы посмотрите на базу данных состояний ASP.NET, то вот как она определяется.