这个题没看懂

这个题没看懂

http://img1.sycdn.imooc.com//climg/5c0bae3b00017ef813600572.jpg

  1. 如何在创建的时候直接添加联合索引?

  2. “最左侧”那句什么意思?

  3. 如何添加、删除、修改 联合索引?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
木船里的星星 2018-12-16 15:15:04

PRIMARY KEY (id,name)是联合索引。删除索引的链接里那不是语法都已经写出来了?自己建表测试就能出来

慕村0084371 2018-12-09 13:34:51

建议参考

可以直接创建索引,基本的语法格式如下:

CREATE TABLE 表名(字段名 数据类型 [完整性约束条件],  
               [UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY
                 [索引名](字段名1 [(长度)] [ASC | DESC])
);

UNIQUE:可选。表示索引为唯一性索引。

FULLTEXT;可选。表示索引为全文索引。

SPATIAL:可选。表示索引为空间索引。

INDEX和KEY:用于指定字段为索引,两者选择其中之一就可以了,作用是一样的。

索引名:可选。给创建的索引取一个新名称。

字段名1:指定索引对应的字段的名称,该字段必须是前面定义好的字段。

长度:可选。指索引的长度,必须是字符串类型才可以使用。

ASC:可选。表示升序排列。

DESC:可选。表示降序排列

2、

最左边规则:这种情况发生在多个有索引的域上,mysql从索引列表的最左边开始,按顺序使用他们。

alter table customer add initial varchar(5);
alter table customer add index(surname,initial,first_name);
update customer set initial=‘x‘ where id=1;
update customer set initial=‘c‘ where id=2;
update customer set initial=‘v‘ where id=3;
update customer set initial=‘b‘ where id=4;
update customer set initial=‘n‘ where id=20;
update customer set initial=‘m‘ where id=21;

如果在查询中使用了这三个域,那就最大限度的利用了索引:

select * from customer where surname=‘clegg‘ and initial=‘x‘ and first_name=‘yvonne‘;

或者是利用索引的大部分:

select * from customer where surname=‘clegg‘ and initial=

‘x‘;

或仅仅是surname:

select * from customer where surname=‘clegg‘;

如果打破最左边规则,下面的例子就不会用到索引:

select * from customer where initial=‘x‘ and first_name=‘yvonne‘;
select * from customer where initial=‘x‘ ;
select * from customer where first_name=‘yvonne‘;
select * from customer where surname=‘clegg‘ and first_name=‘yvonne‘;

3、至于联合索引的删除修改操作,按照索引的操作方式即可, 建议参考:https://www.cnblogs.com/yeyublog/p/5898588.html

  • 提问者 轩辕小齐V #1
    我没看懂,1.怎么在创建的时候直接创建联合索引?题里面PRIMARY KEY (id,name) 不是联合索引么?能不能写一个例子啊? 2.左侧原则,是什么意思?比如PRIMARY KEY (id,name) 是先查id?那么name 又有什么用? 3.删除联合索引麻烦您举个例子啊,那个网页更看不懂
    2018-12-15 14:10:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师