主键与索引

为君一笑 提交于 2020-03-25 12:26:20

3 月,跳不动了?>>>

唯一索引:该字段没有重复值,但允许空值(该字段可以有多个null值),一张table只允许一个主键,但可以创建多个unique index

函数索引:如果在我们的查询条件使用了函数,那么索引就不可用了。可以用建立函数索引的方式,来解决这个问题
  例如:
        select * from product where nvl(price,0.0)>1000.0 ;
        这里,nvl(price,0.0)使用了函数,索引不能利用price字段上做的索引了
          我们来创建函数索引
       create index index_price on product(nvl(price,0.0));

其他:

1. 创建表时,不能在同一个字段上建立两个索引(主键默认建立唯一索引)

2.  唯一索引能极大的提高查询速度,而且还有唯一约束的作用。一般索引,只能提高30%左右的速度

 经常插入,修改,应在查询允许的情况下,尽量减少索引,因为添加索引,插入,修改等操作,需要更多的时间
 

3.  主键一定是唯一性索引,唯一性索引并不一定就是主键。 

4.  一个表中可以有多个唯一性索引,但只能有一个主键。
 
5.  主键列不允许空值,而唯一性索引列允许空值。 

主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!