加载中...
加载中...
MySQL笔记(五)索引 index

MySQL笔记(五)索引 index 原创

这是我在学习Mysql之路上做的笔记,今天将它粘出来。这一篇主要是Mysq的l索引index。有错误的欢迎大家指出。。

数据库的创建参考我的另一篇博客   https://blog.csdn.net/csdnluolei/article/details/83409945  

#索引

原理:当对表字段创建一个索引,数据库就会创建一个索引页,索引页不仅存储的有索引的数据,还保存了索引数据在数据库的物理位置;

作用:加快查询速度,类似一本书的目录,索引可以避免对表全面扫描;

1.如果列很少,不建议建索引;

2.主键和唯一键会自动创建索引;

3.适合在常用的字段创建索引;

在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;

在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

缺点:

创建索引和维护索引要耗费时间

索引需要占物理空间

#创建索引

复制SQLCREATE INDEX index_tb_emp ON tb_emp(ename);
  • 1


#使用索引,ename='King'就使用了索引

复制SQLSELECT *FROM tb_emp WHERE ename='King';

SELECT *FROM tb_emp;
  • 1
  • 2
  • 3


#多次insert,update,DELETE之后会有索引碎片,垃圾文件会影响查询速度

#最一个月重组索引一次,也就是删除索引再建索引

#删除索引2种方法alter和drop

复制SQLALTER TABLE tb_emp DROP INDEX index_tb_emp;

DROP INDEX index_tb_emp ON tb_emp;
  • 1
  • 2
  • 3


#创建索引

复制SQLCREATE INDEX index_tb_emp ON tb_emp(ename);
  • 1


#如果有一个CHAR(255)的列,如果在前10个或30个字符内,多数值是惟一的,则不需要对整个列进行索引。

#短索引不仅可以提高查询速度而且可以节省磁盘空间、减少I/O操作。

复制SQLDESC tb_emp;
  • 1


#创建短索引

复制SQLCREATE INDEX index_tb_emp ON tb_emp(ename(3));
  • 1


————————————————
版权声明:本文为CSDN博主「csdnluolei」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/csdnluolei/article/details/83410595

一、MySQL中日期和时间类型参考 MySQL数据类型(还有其他知识)参考  MySQL数据类型(还有其他知识)参考 SQL数据类型表示时间值的日期和时间类型为DATETIM
MySQL使用orderbyfield()自定义排序一、MySQLfield自定义排序函数的格式orderbyfield(value,str1,str2,str3,,,,,,strn)参数:value是字段,val
一、MySQL中 日期和时间类型参考 MySQL 数据类型(还有其他知识)参考 SQL 数据类型表示时间值的日期和时间类型为 DATETIME、DATE、TIMESTAMP、TIME和YEAR。
没有更多推荐了 [去首页]
image
文章
376
原创
293
转载
83
翻译
0
访问量
183398
喜欢
73
粉丝
5
码龄
7年
资源
3

文章目录

加载中...
0
0