If the possible answers are not predetermined, you have a real problem. I
don't know how you can optimize that. A full-text index might help, but I
don't have a good understanding of the type of queries you're going to need.

I am not a good person to ask about performance, nor am I familiar with
views (still running 4.1.23 here).

Regards,

Jerry Schwartz
Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032

860.674.8796 / FAX: 860.674.8341


> -----Original Message-----
> From: Fabian Köhler [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, April 17, 2007 10:09 AM
> To: 'Jerry Schwartz'
> Cc: 'mysql@lists.mysql.com'
> Subject: RE: Max columns in a tabel in MyISAM storage engine
>
> >> The "right" way to do this would be your second way, where
> there would be
> >> one row per answer. I can't really grasp how the questions
> and answers
> >> relate to anything else, so I'm making a lot of assumptions.
> >>
> >> If you are concerned that this technique is too slow,
> because it involves
> >> linking two tables, there is an ugly alternative. You
> could store all of
> >> your answers in a single text field, with some kind of
> delimited format:
> >>
> >> "q1=answer1,q2=answer2,q5=answer5"
> >>
> >> And then parse it in your program.
> >
> >And eliminates the possibility to do any queries against
> your database
> >that make any sense whatsoever.
>
> i see, so this is the way to go:
>
> >QUESTIONS
> >--
> >QuestionID
> >QuestionText
> >
> >POSSIBLE_ANSWERS
> >--
> >QuestionID
> >AnswerID (A/B/C?)
> >AnswerText
> >
> >ANSWERS
> >--
> >QuestionID
> >AnswerID
> >UserID
>
> but there is still one problem. not every answer got an ID,
> one can also enter free text as an answer, i'd need to
> seperate that out in another table again but it's possible of
> course. I will do some performance testing on this for large data.
>
> Regarding my other replies: Because we need to do joins to
> get the data from that tables above i thought about creating
> a view to transform the table above into the original idea i had:
>
> id|q1|q2
> 1|a1|a2
> 2|a3|a4
>
> is this possible with reasonable performance? i only got very
> slow implementations. also see this link:
> http://www.wormus.com/aaron/stories/2007/03/23/mysql-restructu
> ring-data-for-a-view.html i just thought so, because it would
> be very handy to read and update data that way (altough the
> updates on that view doesn't seem to be possible at all).
>
> Fabian
>
> --
> Fabian Köhler      http://www.fabiankoehler.de
>
> > -----Original Message-----
> > From: Jerry Schwartz [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, April 17, 2007 3:50 PM
> > To: 'Fabian Köhler'; mysql@lists.mysql.com
> > Subject: RE: Max columns in a tabel in MyISAM storage engine
> >
> > The "right" way to do this would be your second way, where
> > there would be
> > one row per answer. I can't really grasp how the questions
> and answers
> > relate to anything else, so I'm making a lot of assumptions.
> >
> > If you are concerned that this technique is too slow, because
> > it involves
> > linking two tables, there is an ugly alternative. You could
> > store all of
> > your answers in a single text field, with some kind of
> > delimited format:
> >
> > "q1=answer1,q2=answer2,q5=answer5"
> >
> > And then parse it in your program.
> >
> > Again, I'm not sure where you are going with this.
> >
> > Regards,
> >
> > Jerry Schwartz
> > Global Information Incorporated
> > 195 Farmington Ave.
> > Farmington, CT 06032
> >
> > 860.674.8796 / FAX: 860.674.8341
> >
> >
> > > -----Original Message-----
> > > From: Fabian Köhler [mailto:[EMAIL PROTECTED]
> > > Sent: Monday, April 16, 2007 7:04 PM
> > > To: 'mysql@lists.mysql.com'
> > > Subject: Max columns in a tabel in MyISAM storage engine
> > >
> > > Hello,
> > >
> > > i have table with answers to questions. Every answer is a
> > > column in the table. i.e.
> > >
> > > id|q1|q2|q3
> > > 1|answer1|answer2|answer5
> > > 2|answer3|answer4|asnwer6
> > >
> > > another option to save it would be sth like this:
> > >
> > > id|field|value
> > > 1|q1|answer1
> > > 1|q2|answer2
> > > 1|q3|answer5
> > > 2|q1|answer3
> > > ...
> > >
> > > The last one is not really useable when working with large
> > > amounts of data, when you want to select i.e. 200 questions
> > > with answers it's 200*nof answers queries to get them.
> > >
> > > The problem with the first solution is, that MyISAM storage
> > > engine is limited to 2599 columns i think. So what's
> > > happening if i have more answers than columns available?
> > >
> > > Does anybody have an idea? VIEWs or GROUP_CONCAT doesn't seem
> > > to be an option, they are all to slow. What's the "right" way
> > > to store and select such information?
> > >
> > > Thank you very much.
> > >
> > > regards,
> > >
> > > Fabian
> > >
> > > --
> > > Fabian Köhler      http://www.fabiankoehler.de
> > >
> > > --
> > > MySQL General Mailing List
> > > For list archives: http://lists.mysql.com/mysql
> > > To unsubscribe:
> > > http://lists.mysql.com/[EMAIL PROTECTED]
> > >
> > >
> >
> >
> >
> >
>




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

Reply via email to