注:
该SQL语句全部是针对于本地MySQL上的mysqlsenior数据库的 s1,s2表
实例所用表的介绍
s1 表:
CREATE TABLE `s1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`key1` varchar(100) DEFAULT NULL,
`key2` int(11) DEFAULT NULL,
`key3` varchar(100) DEFAULT NULL,
`key_part1` varchar(100) DEFAULT NULL,
`key_part2` varchar(100) DEFAULT NULL,
`key_part3` varchar(100) DEFAULT NULL,
`common_field` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`), 主键索引
UNIQUE KEY `idx_key2` (`key2`), 唯一性索引
KEY `idx_key1` (`key1`),
KEY `idx_key3` (`key3`), 普通索引
KEY `idx_key_part` (`key_part1`,`key_part2`,`key_part3`) 联合索引
) ENGINE=InnoDB AUTO_INCREMENT=20002 DEFAULT CHARSET=utf8
s2 表:
CREATE TABLE `s2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`key1` varchar(100) DEFAULT NULL,
`key2` int(11) DEFAULT NULL,
`key3` varchar(100) DEFAULT NULL,
`key_part1` varchar(100) DEFAULT NULL,
`key_part2` varchar(100) DEFAULT NULL,
`key_part3` varchar(100) DEFAULT NULL,
`common_field` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`), 主键索引
UNIQUE KEY `idx_key2` (`key2`), 唯一性索引
KEY `idx_key1` (`key1`),
KEY `idx_key3` (`key3`), 普通索引
KEY `idx_key_part` (`key_part1`,`key_part2`,`key_part3`) 联合索引
) ENGINE=InnoDB AUTO_INCREMENT=20002 DEFAULT CHARSET=utf8
Id:
作用:
1: 标识 select 关键字,SQL语句中每写一个 select 就会有一个新的 id
2:表示表加载的顺序
(1):如果id相同,那么加载表的顺序就是从上至下
(2):id值不同。id值越大的表,对应的优先级越高,越先被执行,如子查询