本篇文章给大家谈谈mysql数据表,唯一索引需要修改成普通索引,怎么改,以及为啥不建议用mysql唯一索引对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
本文目录
不能建立索引的元素
一、创建索引
1.PRIMARYKEY(主键索引)
mysql>ALTERTABLE`table_name`ADDPRIMARYKEY(`column`)
2.UNIQUE(唯一索引)
mysql>ALTERTABLE`table_name`ADDUNIQUE(`column`)
3.INDEX(普通索引)
mysql>ALTERTABLE`table_name`ADDINDEXindex_name(`column`)
4.FULLTEXT(全文索引)
mysql>ALTERTABLE`table_name`ADDFULLTEXT(`column`)
5.多列索引(组合索引)
mysql>ALTERTABLE`table_name`ADDINDEXindex_name(`column1`,`column2`,`column3`)
CREATETABLEtable_name(IDINTNOTNULL,usernameVARCHAR(16)NOTNULL,cityVARCHAR(50)NOTNULL,ageINTNOTNULL);
mysql数据表,唯一索引需要修改成普通索引,怎么改
修改表的结构之类的操作,建议直接就用工具了,mysql数据库建议用phpMyadmin或者是Navicat,看着字点点鼠标就行了
mysql为什么有时候会选错索引
我们知道我们一个表里面可以有多个索引的,那么我们查询数据的时候不指定索引,MySQL就会帮我们自动选择。既然是MySQL程序帮我们自动选择的那么会不会有问题的呢?
答案是会的,MySQL的优化器也有bug,有时候选择的索引并不是最优的。这也就不难理解为什么会选错索引了。
哪些情况下不应该使用索引
1)数据唯一性差的字段不要使用索引
比如性别,只有两种可能数据。意味着索引的二叉树级别少,多是平级。这样的二叉树查找无异于全表扫描。
2)频繁更新的字段不要使用索引
比如logincount登录次数,频繁变化导致索引也频繁变化,增大数据库工作量,降低效率。
3)字段不在where语句出现时不要添加索引
只有在where语句出现,mysql才会去使用索引
4)数据量少的表不要使用索引
使用了改善也不大
另外。如果mysql估计使用全表扫描要比使用索引快,则不会使用索引。
关于本次mysql数据表,唯一索引需要修改成普通索引,怎么改和为啥不建议用mysql唯一索引的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。