1. 需要优化的地方
- where用索引(避免全表扫描)
- select用索引(避免回表)
- 排序走索引 (避免查询出来后还要进行排序)
按照《数据库索引设计与优化》的说法满足1,2和3的索引就是三星索引了
2. 例子
测试表有3308670行数据,数据是我网上找了个人名生成网站后把数据写进去的
CREATE TABLE `eyas_account` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`user_id` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户id',
`nickname` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
`phone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '电话号码(或第三方账号ID)',
`password` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码',
`sex` int(4) NOT NULL DEFAULT '0' COMMENT '性别:0-未知,1-男,2-女',
`birthdate` date DEFA