In the current project I'm working on, we use the asp.NET profile to store information about users, such as their inclusion in the mailing list.
Now, to get a list of all the users on the mailing list, I can’t just do a database query, because the asp.NET profile table is just delivered, terrible.
For those who don’t know, the profile table has two main columns: the “keys” column and the “value” columns, and they are organized like this:
Keys: Key1: dataType: startIndex: endIndex: key2: dataType., Etc.
values: value1value2value3 ...
This is almost impossible to query using SQL, so the only way to find users with a specific property is to load a list of ALL users and skip it.
In a site with over 150k members, this is apparently very slow!
Are there specific reasons why the profile was designed this way, or is it just a terrible way to make dynamically generated data?
source
share