- 论坛徽章:
- 0
|
本帖最后由 LMUser 于 2011-12-29 17:27 编辑
CREATE TABLE `tb_user` (
`user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(50) NOT NULL,
`second_name` VARCHAR(50) NOT NULL,
`birthday` DATE NOT NULL,
`gender` ENUM('m','f') NOT NULL,
PRIMARY KEY (`user_id`),
KEY `idx_last_second_birthday` (`first_name`,`second_name`,`birthday`),
KEY `idx_second_birthday` (`second_name`,`birthday`),
KEY `idx_second_name` (`second_name`),
KEY `idx_user_id_second_name` (`user_id`,`second_name`),
KEY `idx_second_name_user_id` (`second_name`,`user_id`)
) ENGINE=INNODB AUTO_INCREMENT=802 DEFAULT CHARSET=utf8;
1> 返回所有字段,永远按顺序返回;
删除,更新;
删除在插入原ID,更新在插入原ID;
乱序插入数据;
SELECT * FROM test.tb_user LIMIT 0, 10
2> 返回主键 ID 字段,会出现乱序返回;
SELECT user_id FROM test.tb_user LIMIT 0, 10
3> 返回主键 ID 和 二级索引字段,会出现乱序返回;
SELECT user_id, second_name FROM test.tb_user LIMIT 0, 10
4> 返回二级索引字段,按顺序返回(不能确定是不是永远按顺序返回);
SELECT second_name FROM test.tb_user LIMIT 0, 10
5> 返回覆盖索引字段,按顺序返回(不能确定是不是永远按顺序返回);
SELECT first_name, second_name, birthday FROM test.tb_user LIMIT 10, 10
SELECT first_name, second_name, birthday FROM test.tb_user ORDER BY first_name LIMIT 10, 10
6> 返回 主键ID 和 包含 主键ID 的覆盖索引字段,不按顺序返回;
ALTER TABLE tb_user ADD INDEX idx_user_id_second_name(user_id,second_name)
ALTER TABLE tb_user ADD INDEX idx_second_name_user_id(second_name,user_id)
|
|