Таймеры для измерения задержки

Самым простым способом IMO было бы объявить переменную для хранения желаемого значения, присвоить ей значение простым для чтения способом, а затем использовать ее в выражении INSERT.

Более того, нет необходимости брать TOP 1 с упорядочением, просто используйте функцию MAX:)

DECLARE @id INT;
SELECT @id = CASE COUNT(*) WHEN 0 THEN 0 ELSE MAX(BOOKINGREFERENCENUM) + 1 END
FROM MyTable;

INSERT INTO TICKET_SALES (
    TRXDATE, 
    KIOSKID, 
    BOOKINGREFERENCENUM, 
)
VALUES (
    '2019-01-18 16:59:29',
    'KIOSK1',
    @id
);

ПРИМЕЧАНИЕ : вы заново изобретаете колесо, в SQL есть что-то вроде IDENTITY, это хорошо для такого рода задач.

5
задан Marcin 20 November 2008 в 15:20
поделиться

2 ответа

Это - копия моего ответа от: Таймерная функция C++ для обеспечения времени в нано секунды

Для Linux (и BSD) Вы хотите использовать clock_gettime ().

#include <sys/time.h>

int main()
{
   timespec ts;
   // clock_gettime(CLOCK_MONOTONIC, &ts); // Works on FreeBSD
   clock_gettime(CLOCK_REALTIME, &ts); // Works on Linux
}

Для окон Вы хотите использовать QueryPerformanceCounter. И вот находится больше на QPC

По-видимому, существует известная проблема с QPC на некоторых чипсетах, таким образом, можно хотеть удостовериться, что у Вас нет их чипсетом. Дополнительно некоторый двухъядерный AMDS может также вызвать проблему. См. второе сообщение sebbbi, где он заявляет:

QueryPerformanceCounter () и QueryPerformanceFrequency () предлагают немного лучшее разрешение, но имеют другие вопросы. Например, в Windows XP, весь AMD Athlon X2 двухъядерные центральные процессоры возвращают ПК любого из ядер "случайным образом" (ПК иногда переходит немного назад), если Вы особенно не устанавливаете AMD двухъядерный пакет драйвера для устранения проблемы. Мы не заметили никакого другого двойного + базовые центральные процессоры, имеющие подобные проблемы (p4 двойной, p4 ht, core2 двойной, core2 четверка, четверка явления).

6
ответ дан 14 December 2019 в 04:50
поделиться

Вы упомянули использование GetTickCount (), таким образом, я собираюсь рекомендовать смотреть на QueryPerformanceCounter ().

2
ответ дан 14 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: