MySQL, , B- ( , ), .
, , , :
CREATE TABLE mytable (
id int unsigned auto_increment,
column_a char(32) not null default '',
column_b int unsigned not null default 0,
column_c varchar(512),
column_d varchar(512),
PRIMARY KEY (id)
) ENGINE=MyISAM;
:
INSERT INTO mytable VALUES (1, 'hello', 2, null, null);
INSERT INTO mytable VALUES (2, 'hello', 3, 'hi', 'there');
INSERT INTO mytable VALUES (3, 'how', 4, 'are', 'you?');
INSERT INTO mytable VALUES (4, 'foo', 5, '', 'bar');
, column_a column_b, :
ALTER TABLE mytable ADD KEY (column_a, column_b);
B-, , :
hello-2
hello-3
how-4
foo-5
, column_a column_a AND column_b, , , . , :
SELECT ... FROM mytable WHERE column_a = 'hello';
, column_b, , , "". , :
SELECT ... FROM mytable WHERE column_b = '2';
, , , "2", .
. , , , PK, :
ALTER TABLE mytable ADD KEY (column_a, column_b, column_c, column_d);
:
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
32, 10, 512 512, 1066, 1000. , DID; :
hello-2-
hello-3-hi-there
how-4-are-you?
foo-5
, column_c column_d, - 512 . 1000 , MySQL. , , , "" .
, InnoDB, MyISAM , (3500 ) - , ENGINE=InnoDB ENGINE=MyISAM . , , , , - .
, , . , / , . , , , . , , , , , , , .