Click here to Skip to main content
15,608,157 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
I am saving and retrieving fingerprint detail from SQL server. For Matching Finger Print Detail, I am getting all Fingerprint detail and the after Check One by one fingerprint using for Loop. So, it's Slow when Data is huge.

What I have tried:

Is it any other way to save and retrieve finger print Detail?
Updated 17-Feb-21 5:03am
20212a 17-Feb-21 9:29am    
How are you saving it in the database? What datatype?
RickZeeland 18-Feb-21 6:15am    
He probably can not put his finger on it :)
20212a 18-Feb-21 7:05am    
Bravo. :)

As you have the fingerprint bitmaps(?) stored in the database, in the worst case all bitmaps will have to be requested from the database which of course will be very slow.
A solution might be to store the bitmaps in the file system (on disk) and only the filenames in the database.

See tips here: Which would be the best database for storing images and videos in large numbers? - Quora[^]

Another idea might be to use parallel processing and use multiple tasks that read only a part of the database, this can be tricky to implement however.
See example here: c# - How to properly make asynchronous / parallel database calls - Stack Overflow[^]

Another idea, that might be frightening to you as an SQL Server user, is to use PostgreSQL and Haar wavelet technology.
See article here: PostgreSQL Application in Image Search and Video and Image Deduplication - Alibaba Cloud Community[^]
I would personally always prefer PostgreSQL over SQL Server for these kind of scenarios.
Share this answer
how to match finger print detail with out loop?

Short answer: you don't.
If you store simple bitmaps of finger prints, the only way to match an unknown finger print is to check against everyone in database. There is a loop, explicit or implicit (hidden).
So, it's Slow when Data is huge.

Indeed, that is the principle.

The only speedup I can think of is to do some analyze of prints to extract key points and their relative positions and use this information as a kind of index.
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900