猿问

MySQL建表的问题,关于索引

CREATE TABLE seckill (
  `seckill_id`  BIGINT       NOT NULL  AUTO_INCREMENT COMMENT '商品库存id',
  `name`        VARCHAR(120) NOT NULL COMMENT '商品名称',
  `number`      INT          NOT NULL COMMENT '库存数量',
  `start_time`  TIMESTAMP    NOT NULL COMMENT '秒杀开启时间',
  `end_time`    TIMESTAMP    NOT NULL COMMENT '秒杀结束时间',
  `create_time` TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP  COMMENT '创建时间',
  --索引
  PRIMARY KEY (seckill_id),
  KEY idx_start_time(start_time),
  KEY idx_end_time(end_time),
  KEY idx_create_time(create_time)
) ENGINE = innoDB           --只有innoDB引擎支持事务
  AUTO_INCREMENT = 1000   --初始自增主键
  DEFAULT CHARSET = utf8
  COMMENT = '秒杀库存表';
  
  定义主键的下面那三句是干嘛的啊,好像是索引,索引拿来干嘛的?


fenkapian
浏览 1966回答 2
2回答

qq_连环_04358155

首先,那三个就是索引,idx_start_time是索引名称,括号里面的是对应的字段名。接下来,索引是为了查找方便的,举个例子,比如你要查找seckill_id=10,虽然你只要符合这个一个条件,但是数据库默认查找是遍历每一行的所有字段的,即其他的name、number。。。。这些字段也会被判断一遍。假如你将这个字段设置成了索引,那么在查找关于这个字段的条件时,就会只遍历这个字段的属性值,不会管其他字段,ok?至于有人说无须扫描任何记录就可以直接得到。。。这是不可能的,还是需要查找的,只是不需要无用的查找

慕数据8267187

TZTGEVYSIJAJYAVIEGMCJDUBHGFOUHTKHEAQQCQWJQCPXVMWMOEFPSJMWAEKOQTTFKTAZGAGHEAWQDMISZPUEWCCPBRXXUXPOLHXRRUQKHOYINJEULKAUHTTBJGGRHHAHEHBTOUKGTZPPPGWPQEYHXDDGURMFHPWZVTZJGCYPNNDQXNVPJZCSUGWGWXTNWJZDSOYIBBUXVYPNMZCPSVOYQZLIQMCKUGDNFSPMKAOYUHDNYBILRNVUHAUEKLDPXTIHAQWZPWZCURZVYYBRIBBZEKGWNJFVZCSGVBHGIYRYRUHSUUKRVSBFJFVRDJPFYYYTGTMUGFIZOUEXKXNJIEEUHCCIHNKMEAAJGJJFIFFXWCUKQQMIQGKNLSIYIBXERKDQWRVUBAXGKPVUTSYZGCIIVCFGYBUYZCDNARUGVSFNZPLSIFFBNZVMJXKYOSVSPPPKXQQYILITVEBYLZMJTNDMYOELIVXKEOVPLBRXHBLRSWSPAXNDEDDBRBTOJWUBVBFFHBLUWNNAHUVLPCJRTJSOUIZFQAQNDCKQEUHNHIBCURXETJGMKKQQFOFJUATNRIECSOXLOUUEYOKPRZSGZZWXLWQDFBVSJQTKQANAWFKXQQBYSMPATIIFZSSYFGWFAAQNLUSZJDQEKRGWTJDWUKUEDCLBLHNQAJWLAFEKDGTWRYSMRUXALGMSWMGIKQWMTPFCJPJAWLOHJGCTDBOUACSSXWKXNUXTJIOOBUKAXQPXAPJZJPLPWLBXZPSIYUHTREKJHVOVRRUBEBBSWLLBVEOEROKHNBERNOJYBKLLDKDUEOKEMTPJIOOEFWVNKVCUJFRIURQALYSWIVLLOEENYKTACVPGPCVOFYYHPSOORRHAERRDMBHKNWNGEROKPQZPMJYDDADAWLSQDCZKSIVQURVBBHOUVWIBWVSBEEEOIFPEUHNLLQTDYDPJIUXDTZFNXYO

Caballarii

把每条记录按这个索引排序存起来,下次查询根据这个索引就能更快找到,而不是翻遍整个表
随时随地看视频慕课网APP

相关分类

Java
我要回答