> It sounds like what you're looking for is an ENUM value:
>
> http://dev.mysql.com/doc/refman/5.0/en/enum.html
>
> Bear in mind when using this data-type that if you do want to add a new
> value (such as a new state/country), you will have to perform an ALTER
> TABLE statement, which can take some time to execute over a table
> storing a lot of data. Using the relational method means you'd just have
> to add one row to a table, which is significantly faster.
----
Just to clarify:
Wouldn't the ALTER TABLE though just have to be run once? and on the 
backend?
I guess what I'm asking is: would this affect web-users in any way?






>
> Thanks
>
> On Mon, 2008-09-22 at 17:12 -0400, Ben A.H. wrote:
>> Hello,
>>
>> We are setting up a relatively common web application which collects 
>> "user
>> information"... Right off the bat our system will have over 200,000 USER
>> RECORDS so having an efficient database & lookup scheme is critical.
>> I am a programmer/developer with some education in databasing but my 
>> forte
>> is programming hence this odd (I think) question...
>>
>> Obviously we'll have the standard USER table & a bunch of supporting 
>> tables.
>>
>> For items like STATE/PROVINCE standard database logic would dictate I 
>> setup:
>>
>> USER
>>    name
>>    email
>>    .....etc...
>>    StateID  (foreign key)
>>
>>
>> STATE
>>    StateID
>>    StateName
>>
>> But I often wonder if there's any benefit in having a State table...
>>
>> For one, new States/Provinces are not that likely, removal of these 
>> entities
>> is also unlikely (except maybe Quebec :-)) so the chances of having to 
>> make
>> alternations to the State table near nil. It raises the question of 
>> whether
>> or not a State Table is even necessary.
>> Using a traditional SQL State table, I'd have to do an SQL query to 
>> populate
>> User State/Province options every time the "New User Registration" form 
>> is
>> shown - isn't this needless overhead?!
>> Would my webforms not load faster if State/Province information was
>> hard-coded as options for a combobox? Is this something people have
>> experimented with?
>>
>> There are various other fields that I believe could be handled like this 
>> for
>> a cumulative performance boost. For example: country, state/province,
>> gender, industry, occupation, ethnicity, language are all options that
>> aren't going to change that often. Then again, when we do have to display
>> the users choice; for example if user.countryID=3 we'd have to have a way 
>> to
>> turn that number 3 into the word "Canada" when we display the users
>> profile... I'd probably do this via XML lookup.
>>
>> Has anyone experimented with the benefits/tradeoffs of such a scheme? As
>> I've said, we are dealing with at least 200,000 user records, probably
>> 300,000-400,000 in the next year. The User table contains at least 50
>> attributes, 15 of which are Foreign Keys that link to tables that will
>> likely never change (the users choices for countryID, stateID,
>> OperatingSystemID, internet_connectionTypeID, internetUserFrequencyID,
>> industryID, occupationID)...
>>
>> ThanX in advance
>> Ben
>>
>>
>>
> -- 
> Ian Simpson
> System Administrator
> MyJobGroup
>
> 



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to