文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL索引

2015-09-15 14:22

关注

MySQL索引[数据库教程]

什么是索引?

排好序快速查找的数据结构就是索引

索引作用

提高检索效率,降低数据库对IO成本;降低数据排序,减少cpu消耗

索引类型

单值索引:一个索引包含单个列,一个表可以有多个单值索引

唯一索引:索引值必须唯一,但允许有空值

复合索引:一个索引包含多个列

基本语法

创建索引

CREATE [UNIQUE](唯一) INDEX  indexname(索引名称) ON tablename(表名) (columnname(length)字段和类型)  

该命令可以添加普通索引或唯一索引[UNIQUE]

或者

ALTER TABLE tablename ADD PRIMARY KEY (columnname_list)                          ---主键索引

ALTER TABLE tablename ADD  INDEX  UNIQUE  indename(columnname_list)     ---唯一索引

ALTER TABLE tablename ADD  INDEX  indename(columnname_list)                      ---普通索引

ALTER TABLE tablename ADD  INDEX  FULLTEXT indename(columnname_list)   ---全文索引

删除索引

DROP INDEX [indexname]  ON table

查看索引

SHOW INDEX FROM  table 

那些情况需要创建索引

如果表记录太少,经常增删改的表,某列字段重复数据较多就不要建立索引

索引优化

  1.  索引有多列时,遵循左前法则;顺序从左开始且不要跳过中间的索引,否则索引失效全盘扫描(带头大哥不能死,中间兄弟不能断)
  2. 不要再索引列上做任何操作,包括计算、函数、自动或者手动类型转换,否则导致索引失效(索引列上无计算)
  3. 范围条件查询之后的索引全部失效,使用范围查询时,有时会使用索引,有时会失效,这是因为使用范围条件的数据量有一定的范围(范围之后全失效)
  4. 索引列尽量和查询列一致,减少select *
  5. 使用“<>”或“!=”导致索引失效
  6. is null,is not null也会导致索引失效
  7. like的“%”在右边不会导致索引失效;查询的列匹配索引列,使用like ‘%xxx%’索引不会失效(like%加右边
  8. 字符串不加单引号或导致索引失效(字符串里有引号)
  9. or用来连接时导致索引失效,但是可以把or用union all代替

关联查询优化

子查询优化

order by关键字优化

group by关键字优化

MySQL索引

原文:https://www.cnblogs.com/-zzc/p/13618841.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯