Quindi adesso ho un singolo thread per gestire tutte le richieste per il database. Diciamo che ho 400 richieste al secondo per accessi / disconti / altre cose e 400 richieste al secondo che sono solo relative agli elementi (spostali, aggiornali, rimuovili, ecc.)
Ovviamente, il problema è che se voglio caricare un elemento dal database, ma il database sta attualmente elaborando una richiesta di accesso, allora ci sarà un ritardo. E voglio che sia istantaneo, ecco perché volevo creare un altro thread, esclusivo per elaborare le richieste degli articoli, e l'altro thread per elaborare accessi / logout, ecc.
Microsoft dice questo:
1: Have multiple statement handles on a single connection handle, with a single thread for each statement handle.
2: Have multiple connection handles, with a single statement handle and single thread for each connection handle.
-
Quali sono esattamente le differenze su entrambi gli approcci? Ovviamente ho bisogno di recuperare i dati e inserire / aggiornare in entrambi i thread contemporaneamente.
-
Questo approccio a 2 thread vs 1 accelera le cose?
Entrambi i thread funzioneranno in modo esclusivo in diverse tabelle SQL (ovvero il thread per gli elementi utilizzerà solo ITEMS_TABLE, non utilizzerà mai LOGIN_TABLE e viceversa)
Attualmente sto usando le seguenti funzioni (C ++):
SQLSetEnvAttr with SQL_OV_ODBC3
SQLConnect
SQLAllocHandle
SQLBindParameter
SQLExecDirect