Tom Krueger is a Microsoftie and spends a lot of his time dreaming up and working on Smart Clients. He was a very quirky and informative post on the Fastest way to build 10,000 records on a Device?
- Tie one end of a piece of string to the WiFi antenna, if your device has one, and tie the other end to a tin can. Enumerate the 10,000 records on your desktop computer and verbally dictate each record into the tin can.
- Performance: slow;
Success rate: zero.
Implementation: easy peasy lemon squeezy.
- Performance: slow;
- Purchase a flock of carrier pigeons, 10,000 in number. Hand-write each record onto a piece of paper and attach to the bird. Aim the bird at the device and release.
- Performance: slow:
Success rate: zero.
Implementation: possibly very messy.
- Performance: slow:
- Move to SQL Server. RDA and Merge Replication are your friends.
- Performance: good!
Success rate: >1,000,000,000 pigeons.
Implementation: well documented.
- Performance: good!
- Hire 10,000 people and get them to memorise one record each. Get them to follow the device wherever it goes.
- Performance: In theory, should outperform Oracle for record access. In reality, you’re statistically likely to get a few “slow” records
Success rate: Depends on the demographics of your recordset.
Implementation: costly, just like Oracle :)
- Performance: In theory, should outperform Oracle for record access. In reality, you’re statistically likely to get a few “slow” records
- Populate the DataSet on the server and transmit as a DataSet object using Web Services ().
- Performance: suffers from a serialisation/serialisation overhead which is costly with 10,000 records.
Success rate: Jackpot, baby!
Implementation: piece of cake.
- Performance: suffers from a serialisation/serialisation overhead which is costly with 10,000 records.
- Re-architect your solution. No one should need 10,000 records on a device. Don’t even think about loading that into a ListView either :)