Hi Brent,

Thanks for the response.  Currently, I have the variables listed out
in a table with one variable per row...  something similar to the following:

+----+------------------+-
| ID | DimensionName    |
+----+------------------+-
|  1 | units_length     |
|  2 | units_temp       |
|  3 | dim_positionX    |
|  4 | dim_width        |
|  5 | dim_length       |
+----+------------------+-

So, I can easily add dimensions or remove them as needed.  The problem
I have concern about is storing the dimension values a user inputs for
a given "session".  For this I now have a table defined as follows
that maps to the ID of the variable list table:

+--------------+------+------+------+------+
| SESSIONID    | ID1  | ID2  | ID3  | ...  |
+--------------+------+------+------+------+
| session_abcd | in   | F    | 5.5  | .... |
| tesfile1     | in   | F    | 6.0  | .... |
| large_design | in   | F    | 7.25 | .... |
| small_design | in   | F    | 8.0  | .... |
+--------------+------+------+------+------+
4 rows in set (0.04 sec)

This way, I can have the values stored as a single row and easily delete and
add session file values from the database.  Using the ID value as the column
provides some abstraction so I can rename dimensions and the sessions are still
valid.

Any thoughts on how better to store the session data?  Since I am coming
over from Access, I currently have three tables with 255 columns each.
Performance-wise it seems OK...  and I'm wondering if I should consolidate
the tables into one or leave them separated.  Or if even with a 255 column
table I might run into performance problems.

Thanks again for the help,
Mike

Brent Baisley wrote:
> A rule of thumb I always follow is to design the DB so that you don't 
> have to add columns (or modify the structure) unless something unforseen 
> comes up (like a new feature). In your case, you are expecting to add 
> "variables" in the future, so I would deign accordingly.
> Use rows instead of columns. Using rows also allows you to index all 
> variable values and names, since there are only two columns. You 
> couldn't index all your columns if you expanded horizontally instead of 
> vertically. Besides, it's a heck of a lot easier to add a row than a 
> column.
> 
> 
> On Thursday, August 1, 2002, at 01:09 AM, Michael Zelina wrote:
> 
>> Can someone provide insight into what a good maximum number of
>> columns is in a MySQL database?  I have an extensive list of variables
>> for an engineering application which number in the 700+ range with
>> more additions possible down the road.  My question is:  should I break
>> up the variables into several tables for storage, or can I use a
>> single table with this many columns.  I cannot find any good rules of
>> thumb for how much the number of columns effects performance.
>>
>> In trying to consolidate my existing data from Access (which limits 
>> columns to 255
>> per table) into a single table, I received the following error:
>>
>> mysql> create table tblsessions select * from tblsessionfiles, 
>> tblsessionfiles2,
>>        tblsessionfiles3 WHERE tblsessionfiles2.sessionid_2 = 
>> tblsessionfiles.id38
>>        AND tblsessionfiles3.sessionid_3 = tblsessionfiles.id38;
>> ERROR 1118: Too big row size. The maximum row size, not counting 
>> BLOBs, is 65535. You have to change some fields to BLOB
>>
>> I assumed that the maximum row size is the total bytes for the entire 
>> row.  My
>> questions are:  (1) can I change this without recompling MySQL and (2) 
>> should
>> I really do this or just stick with three or more separate tables for 
>> performance
>> reasons.
>>
>> FYI, I am running this on a well-equipped server and will probably 
>> only have a
>> maximum # of concurrent users doing DELETE and INSERT in the range of 
>> 150 or so.
>>
>> Thanks,
>> Mike
>>
>> ---------------------------------------------------------------------
>> Before posting, please check:
>>   http://www.mysql.com/manual.php   (the manual)
>>   http://lists.mysql.com/           (the list archive)
>>
>> To request this thread, e-mail <[EMAIL PROTECTED]>
>> To unsubscribe, e-mail <mysql-unsubscribe-
>> [EMAIL PROTECTED]>
>> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>>
>>
> -- 
> Brent Baisley
> Systems Architect
> Landover Associates, Inc.
> Search & Advisory Services for Advanced Technology Environments
> p: 212.759.6400/800.759.0577
> 
> 



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to