CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
create index idx_emp_no on salaries(emp_no);
后台会检查是否使用强制索引
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
create index idx_emp_no on salaries(emp_no);
drop table if exists salaries; CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`)); create index idx_emp_no on salaries(emp_no); INSERT INTO salaries VALUES(10005,78228,'1989-09-12','1990-09-12'); INSERT INTO salaries VALUES(10005,94692,'2001-09-09','9999-01-01');
10005|78228|1989-09-12|1990-09-12 10005|94692|2001-09-09|9999-01-01
SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005
SELECT * FROM salaries FORCE INDEX idx_emp_no WHERE emp_no = 10005
SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005在Mysql中:
create index idx_emp_no on salaries(emp_no); select * from salaries FORCE INDEX (idx_emp_no) where emp_no = 10005;
SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005
CREATE INDEX idx_emp_no ON salaries(emp_no); SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005
SELECT * FROM salaries FORCE INDEX idx_emp_no WHERE emp_no = 10005
select * from salaries force index (idx_emp_no) where emp_no = 10005;
select * from salaries indexed by idx_emp_no where emp_no = 10005indexed by :强制使用索引
select * from salaries force index(idx_emp_no) where emp_no=10005