
在什么情况下建表能自动生成(唯一)索引 ORACLE数据库中?
2个回答
展开全部
创建表同时定义主键,会自动建立唯一索引。 (因为 主键 = NOT NULL + UNIQUE )
例如
SQL> CREATE TABLE test_create_tab1 (
2 id INT,
3 val VARCHAR(10),
4 PRIMARY KEY (id)
5 );
Table created.
或者,你建表的时候,对指定字段,定义了 唯一性的约束 UNIQUE
那么数据库会自动为这个字段,创建一个 唯一索引。
例如
SQL> CREATE TABLE test_create_tab1 (
2 id INT,
3 val VARCHAR(10),
4 PRIMARY KEY (id)
5 );
Table created.
或者,你建表的时候,对指定字段,定义了 唯一性的约束 UNIQUE
那么数据库会自动为这个字段,创建一个 唯一索引。

2025-03-05 广告
华天软件PDM近30年实施经验,服务客户数千家,功能完善,提高设计复用率,降低研发成本40%,实现跨部门信息共享+无纸化研发+缩短产品研发周期+降低成本,为企业构建数字化智能制造全面应用,打好坚实基础,加速企业数字化转型,更多资料详情咨询4...
点击进入详情页
本回答由华天软件提供
2011-05-05
展开全部
查询速度慢,跟你的插入没多大关系
大表sdy_db_testb的C_testa字段建索引;
把select a.*,b.c_xname from sdy_db_testb a left join sdy_db_testc b on 1=1 and b.c_testa=a.c_testa改成
select a.*,b.c_xname from sdy_db_testc a left join sdy_db_testb b on 1=1 and b.c_testa=a.c_testa;
即左边的为小表,这样就快 了;
不知道你的需求是否要把大表的数据都取出来
如果是都需要取出来的话,慢是必然的!因为要读的块数无法减少,IO开销你怎么优化都是无用的
另外,团IDC网上有许多产品团购,便宜有口碑
大表sdy_db_testb的C_testa字段建索引;
把select a.*,b.c_xname from sdy_db_testb a left join sdy_db_testc b on 1=1 and b.c_testa=a.c_testa改成
select a.*,b.c_xname from sdy_db_testc a left join sdy_db_testb b on 1=1 and b.c_testa=a.c_testa;
即左边的为小表,这样就快 了;
不知道你的需求是否要把大表的数据都取出来
如果是都需要取出来的话,慢是必然的!因为要读的块数无法减少,IO开销你怎么优化都是无用的
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询