CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
KEY `first_name` (first_name),
KEY `last_name` (last_name),
KEY `last_first` (last_name,first_name)
);
Is it good if i have table index in like that if i have queries like :
SELECT * FROM test WHERE first_name = 'A';
SELECT * FROM test WHERE last_name= 'A';
SELECT * FROM test WHERE first_name like '%A%';
SELECT * FROM test WHERE last_name like '%A%';
SELECT * FROM test WHERE last_name= 'A' AND first_name = 'A';
SELECT * FROM test WHERE last_name like '%A%' AND first_name like '%A%';
SELECT * FROM test WHERE last_name= 'A' OR first_name = 'A';
SELECT * FROM test WHERE last_name like '%A%' first_name OR like '%A%';
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
KEY `first_name` (first_name),
KEY `last_name` (last_name),
KEY `last_first` (last_name,first_name)
);
Is it good if i have table index in like that if i have queries like :
SELECT * FROM test WHERE first_name = 'A';
SELECT * FROM test WHERE last_name= 'A';
SELECT * FROM test WHERE first_name like '%A%';
SELECT * FROM test WHERE last_name like '%A%';
SELECT * FROM test WHERE last_name= 'A' AND first_name = 'A';
SELECT * FROM test WHERE last_name like '%A%' AND first_name like '%A%';
SELECT * FROM test WHERE last_name= 'A' OR first_name = 'A';
SELECT * FROM test WHERE last_name like '%A%' first_name OR like '%A%';