This is exactly what i was looking for lol. Just using rows instead of columns, i was under the impression that columns were faster at indexing and i couldn't get off the whole keeping them as a column.
initially i had planned on making the columns contain rows of member_ids, but your way makes alot more sense.
One thing i am curious about though is row locking, in innodb it seems table locking isnt as bad comapred to myisam; and i have no idea why.
edit: this however explains alot.
http://stackoverflow.com/a/28070969/5566036Quote
Table-locking vs Row-locking
When a query runs against a MyISAM table, the entire table in which it is querying will be locked. This means subsequent queries will only be executed after the current one is finished. If you are reading a large table, and/or there are frequent read and write operations, this can mean a huge backlog of queries.
When a query runs against an InnoDB table, only the row(s) which are involved are locked, the rest of the table remains available for CRUD operations. This means queries can run simultaneously on the same table, provided they do not use the same row.
This feature in InnoDB is known as concurrency. As great as concurrency is, there is a major drawback that applies to a select range of tables, in that there is an overhead in switching between kernel threads, and you should set a limit on the kernel threads to prevent the server coming to a halt.
This post was edited by Glyph89 on Sep 28 2016 09:12pm