Следует избегать одиночных операций, выполняемых в цикле, заменив их пакетными операциями. Пример.
Создать таблицу из 1024 случайных чисел:
if (table_exists('TEST') > 0)
drop TEST;
create table TEST
(
DATA dword
);
var @i;
@i = 0;
while(@i < 1024)
{
insert into TEST values(random(10));
@i = @i + 1;
}
Оптимизированный запрос:
if (table_exists('TEST') > 0)
drop TEST;
create table TEST
(
DATA dword
);
var @i;
@i = 0;
insert into TEST values(random(10));
while(@i < 10)
{
fix all;
insert into TEST
select random(10, DATA) from TEST;
@i = @i + 1;
}
Диагностика результатов выполнения SQL запросов
Работа с функциями обработки ошибок - функции lasthterr, lastsqlerr
Диагностика результатов выполнения SQL запросов сводится к работе с функциями обработки ошибок. Рассмотрим эти функции.
Функция lasthterr – Получить код последней ошибки HyTech
Функция возвращает код последней ошибки HyTech. При выполнении SQL-операторов для работы с базой данных код ошибки HyTech заносится во внутреннюю переменную. Этот код можно получить данной функцией и проанализировать. SQL-функции код ошибки возвращают сразу и не портят данную внутреннюю переменную. Поэтому их код ошибки нельзя получить данной функцией. Сбросить код ошибки можно с помощью SQL-функции clearerr.
Формат:
nCode = lasthterr();
Результат:
| Тип
| Значение
|
| integer
| Код последней ошибки HyTech.
|