IT派同学 2022-10-08 17:27 采纳率: 100%
浏览 54
已结题

MySQL索引相关问题

索引算法有哪些?
索引设计的原则?
创建索引的原则(重中之重)
创建索引的三种方式,删除索引
创建索引时需要注意什么?
使用索引查询一定能提高查询的性能吗?为什么

  • 写回答

2条回答 默认 最新

  • fanstuck 人工智能领域优质创作者 2022-10-08 17:33
    关注
    1. 全表扫描算法
      索引扫描算法
    2. 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。索引设计不合理或者缺少索引都会对数据库和应用程序的性能造成障碍。高效的索引对于获得良好的性能非常重要。设计索引时,应该考虑相应准则。
    3. 索引本身可以起到约束的作用,比如唯一索引、主键索引都是可以起到唯一性约束的,因此在我们的数据表中,如果某个字段是唯一性的,就可以直接创建唯一性索引,或者主键索引。这样可以更快速地通过该索引来确定某条记录。
      UNIQUE、FULLTEXT和SPATIAL为可选参数,分别表示唯一索引、全文索引和空间索引,若不选则表示创建的是普通索引。
      INDEX与KEY为同义词,两者的作用相同,用来指定创建索引;
      index_name指定索引的名称,为可选参数,如果不指定,那么MySQL默认col_name为索引名;
      col_name为需要创建索引的字段列,该列必须从数据表中定义的多个列中选择;
      length为可选参数,表示索引的长度,只有字符串类型的字段才能指定索引长度;
      ASC 或 DESC 指定升序或者降序的索引值存储。
      删除索引

    第一种方式

    drop index 索引名 on 表名;

    第二种方式

    alter table 表名 drop index 索引名;

    第三种方式

    alter table 表名 drop primary key

    1
    2
    3
    4
    5
    6
    7
    8
    
    分析:
    第三种方式只在删除primary key中使用。因为一个表只能存在一个primary key索引,所以不需要指定索引名;
    对于第三种方式,若没有创建primary key索引,但表中具有一个或多个unique索引,则默认删除第一个unique索引;
    若删除表中的某列,索引会受到影响。对于多列组合的索引,如果删除其中的某一列,则该列会从对应的索引中被删除(删除列,不删除索引);删除多个组成索引的所有列,则索引将被删除(不仅删除列,还删除索引)。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月16日
  • 已采纳回答 10月8日
  • 创建了问题 10月8日

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题