Hi list,

We're building a relatively large database with InnoDB tables. The database
model is basically: store the data in a table based on the data type. So we
have a param_int table for all integer type data:
CREATE TABLE `param_int` (
  `id` int(11) NOT NULL default '0',
  `name` varchar(32) NOT NULL default '',
  `value` int(14) NOT NULL default '0',
  PRIMARY KEY  (`id`,`name`),
  KEY `name` (`name`),
  KEY `value` (`value`)
) TYPE=InnoDB COMMENT='integer parameters';

Etcetera for other basic types.

(We did run tests with InnoDB, MyISAM, type based tables and the usual
tables where all datatypes are stored in a few tables. InnoDB performed far
better with larger number of records and the type based storage was easier
when it comes to expanding the number of parameters).

The question:

I need to store flags which indicate access rights, etc. Since storing each
flag in a tinyint or something similar doesn't seem efficient when the
number of flags increases. My alternative was storing the flags as groups in
one or more sets. The table will contain the sets for hundreds of thousands
of IDs.

How efficient is InnoDB with searching in such sets? Will it use an index or
must it perform a full table search?
Are there alternatives which are more efficient regarding search speed?

Best regards, Jigal.


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

Reply via email to