首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql索引与外键

普通索引

这是最基本的索引,它没有任何索引,只是为了加快查询速度。

唯一索引

它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。

主键索引

它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引

要求:

组合索引

全文索引

外键

注意:

1、必须一样。

2、必须一样

3、必须一样

4、也必须一样

5、必须在被的中存在。

索引的不足之处

上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:

◆虽然索引大大提高了查询速度,同时却会降低的,如对表进行、和。因为更新表时,MySQL不仅要,还要保存一下。

◆建立索引会的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了,索引文件的会。

索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。

使用索引的注意事项

使用索引时,有以下一些技巧和注意事项:

◆索引不会包含有值的列

只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。

◆使用短索引

对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的列,如果在前10个或20个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。

◆索引列排序

MySQL查询只,因此如果子句中已经的话,那么中的列的。因此数据库默认排序可以的情况下操作;尽量不要包含,如果需要最好给这些列创建复合索引。

◆like语句操作

一般情况下不鼓励使用操作,如果非使用不可,如何使用也是一个问题。使用索引而使用索引。

◆不要在列上进行运算

1.

将在每个行上进行运算,这将导致索引失效而进行全表扫描,因此我们可以改成

1.

◆不使用和操作

以上,就对其中MySQL索引类型进行了介绍。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190115G09P0C00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券