I am learning transaction and isolation levels. I tried to use read_committed in one thread and then in another thread insert some data into a table. the reader thread is blocked and waits until the first thread commit the transaction to complete the select statement. What I can not understand is: shouldn't the second thread only read what is already committed instead of waiting until the inserting thread finishes its job?
Inserted thread code:
reader thread code:
also I tried and execute these code in two different application and the result is the same. The reader application waits for almost 20 seconds before it read the data.