10,000 rows of strings is a lot of data to hold in memory. I would use a database to hold that much data.
If I could not use a database then I would put all of the strings in a one-dimensional array. When a call came in for an item, say 24,568, I would subtract 20,000 from it and use that as the index to the array. So 24,568 would be the string at index 4568 in the array.