1.最好指定主键名称和其他存储的属性
Table altered.
这样的SQL语句没有问题,但是将会有两个问题比较“讨厌”:
主键名称不知,由系统生成。在DBA[USER]_INDEXES中INDEX_NAME显示的’SYS’开头的基本上就是由系统自动产生的。
另外一点,我认为更重要一些。即建立的主键存储的表空间和原始表的相同。不利于平衡I/O(当然从某些存储的观点来看,值得商榷。),最起码还是应该将数据和索引分布在不同的表空间上会好些。
建议使用:
Table altered.
当然如果再灵活些,还可以指定索引的存储参数等等。
同时还有两个小问题:
首先我们都知道所谓主键就是,该字段或多个字段上为唯一(unique)索引
且字段不为空。
那么问题1:在允许为空的字段上是否可以创建索引?
答案是:可以也不可以。
可以的情况是该字段虽允许为空,但所有被存储的数据中,该字段没有为空的!字段可以创建索引。反之,不可以。
2.这个问题很有意思,在允许为空的字段上创建了主键,如果主键被删除,该字段又是怎样的属性呢?
答案是:我们通过实验发现,一旦主键被建立,该字段属性变为非空(NOT NULL),当主键被删除后,该字段属性恢复建立主键建立前属性,即允许为空。
-:)
转载于:https://blog.51cto.com/miracle/55315
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111059.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...