Наш код написан на C, а DB - это Informix.
Мы проводим некоторую оптимизацию кода в программе ESQL и нашли следующий запрос:
ОБНОВЛЕНИЕ [ТАБЛИЦА] SET [ОСНОВНАЯ КЛЮЧЕВАЯ КЛАВИША] = [НОВЫЙ КЛЮЧ] ГДЕ COL =? ИЛИ COL =? ...
Количество столбцов в предложении where динамически подготовлено. У нас есть проверка верхнего счетчика, чтобы прекратить подготовку предложения where и выполнить обновление, а затем вернуться и начать подготовку остальных. UPPER_MARK - "30"
if (where_parameter_count> = UPPER_MARK)
__ выполнить обновление __
__ clean_and_continue; / * начать готовиться снова * / __
Мы подумали о замене ГДЕ .. ИЛИ ГДЕ ... В
ОБНОВЛЕНИЕ [ТАБЛИЦА] SET [КОЛОНКА ПЕРВИЧНЫХ КЛЮЧЕЙ] = [НОВЫЙ КЛЮЧ] ГДЕ ЦВЕТ (?,? ...)
Будет ли это быстрее, чем "где или"?