SQL---索引

CREATE TABLE `havemoney` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `birthday` date DEFAULT NULL,
  `userName` varchar(100) DEFAULT NULL,
  `countMoney` decimal(15,2) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` varchar(10) DEFAULT NULL,
  `address` varchar(200) DEFAULT NULL,
  `introduce` text,
  PRIMARY KEY (`id`),
  KEY `userName` (`userName`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=200008 DEFAULT CHARSET=utf8;
CREATE TABLE havemoney (
  id INT PRIMARY KEY,
  birthday DATE,
  userName VARCHAR(100),
  countMoney DECIMAL(15, 2),
  age INT,
  sex VARCHAR(10),
  address VARCHAR(200),
  introduce TEXT
);

INSERT INTO havemoney (id, birthday, userName, countMoney, age, sex, address, introduce)
VALUES
  (1, '1964-01-12', '杰夫·贝索斯', 99800000000.00, 59, '男', '美国华盛顿州西雅图', '亚马逊创始人及现任董事长,华盛顿邮报大股东之一,1999年度《时代杂志》年度风云人物。'),
  (2, '1949-08-03', '伯纳德·阿尔诺特', 76000000000.00, 74, '男', '法国巴黎', '法国奢侈品巨头酩悦·轩尼诗-路易·威登集团(LVMH)总裁兼CEO,被誉为“世界奢侈品教父”。'),
  (3, '1955-02-26', '埃隆·马斯克', 68000000000.00, 68, '男', '美国德克萨斯州奥斯汀', '特斯拉和SpaceX的首席执行官,同时是多家公司的创始人,致力于推动电动汽车、太空探索等领域的发展。'),
  (4, '1930-08-28', '沃伦·巴菲特', 62000000000.00, 93, '男', '美国内布拉斯加州奥马哈', '伯克希尔·哈撒韦公司董事长和首席执行官,全球著名的投资家,被誉为“股神”。'),
  (5, '1963-03-18', '比尔·盖茨', 58000000000.00, 60, '男', '美国华盛顿州梅迪纳', '微软公司创始人之一,全球富豪榜上的常客,致力于全球公共卫生和教育事业。'),
  (6, '1972-10-03', '赵鹏云', 55000000000.00, 51, '男', '中国北京', '某科技巨头公司创始人,引领全球科技行业发展,对中国乃至全球科技产业产生深远影响。'),
  (7, '1984-05-14', '马克·扎克伯格', 50000000000.00, 39, '男', '美国加利福尼亚州门洛帕克', 'Facebook创始人及现任董事长,同时也是一位致力于推动科技创新和社会变革的企业家。');
DELIMITER //
CREATE PROCEDURE random_addinfo()
BEGIN
    DECLARE i INT DEFAULT 0;
    WHILE i < 200000 DO
        INSERT INTO havemoney (
            id,
            birthday,
            userName,
            countMoney,
            age,
            sex,
            address,
            introduce
        ) VALUES (
            NULL, -- 假设id是自增的,或者你可以生成一个唯一的id
            CURDATE() - INTERVAL FLOOR(RAND() * 365 * 60) DAY, -- 随机生日
            CONCAT('User', FLOOR(RAND() * 1000000)), -- 随机用户名
            FLOOR(RAND() * 1000000000) * 100, -- 随机金额,调整范围以符合实际情况
            FLOOR(RAND() * 100) + 1, -- 随机年龄,1到100岁
            IF(RAND() > 0.5, '男', '女'), -- 随机性别
            CONCAT('Address', FLOOR(RAND() * 1000000)), -- 随机地址
            'Random introduction text.' -- 随机介绍,你可以根据需要扩展
        );
        SET i = i + 1;
    END WHILE;
END //
DELIMITER ;
select * from havemoney where userName='用户2155';
#select * from havemoney where userName='用户2155'
#> OK-无索引
#> 时间: 0.121s

#select * from havemoney where userName='用户2155'
#> OK-有索引
#> 时间: 0.002s

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值