索引怎么创建
1个回答
展开全部
问题一:索引怎么建立使用 如果你查询的字段都在索引中,那么可以只查询索引,不用查询表,就可以输出数据。
这是建索引时的一种考虑。
但是在你这种情况下不适用。
我猜你是想输出大批数据,而不是根据索引选择有数的那么几条。
输出数据占总数据量达到一定比例以后,再用索引就是浪费更多资源而得不到回报了。
因为数据行存储在块中。一块存多行。用索引时是根据索引信息,每一行访问一次数据块。
数据多了会覆盖大多数数据块,并且一个数据块会被访问多次。就不如全表扫描一次,访问一个叮据块就把该块所有行都输出。这样效率最高。
所以你这种情况不应该用索引的。
问题二:如何建立主索引 首先有一点你没有弄明白,数据库表才可以建主索引,自由表是不能建主索引的。也就是说数据库表可以建4种索引:主索引、候选索引、普通索引、唯一索引。但自由表只能建立3种索引:候选索引、普通索引、唯一索引。 如果要建主索引,可以在表设计器窗口的“索引”选项卡中建立,但index on 命令中不能建立主索引,此命令只能建候选索引、普通索引和唯一索引。 如:index on 学号 tag 学号 candidate index on 姓名 tag 姓名 unique index on 性别 tag 性别 (上述三个命令分别的是建立候选索引、唯一索引、普通索引) 但create table 命令中可以在指定字段属性的同时建立此字段为主索引,前提也是必须是数据库表。 举个例子:要求创建一个“学生”数据库中的“学籍”表,字段有学号,姓名,成绩,同时指定学号为主索引。 open data 学生 create table 学籍 (学号 C(6) primary key ,姓名 c(8),成绩 n(5,1))
问题三:oracle 数据库如何建立索引 如何用索引? 5分 方法如下:
Oracle中建立索引,会提高查询速度: create index 索引名 on 表名(列名);
例如:
create index index_userid on tbl_detail(userid);
如何找数据库表的主键字段的名称?
SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='AAA'; select * from dba_cons_columns where CONSTRAINT_NAME='SYS_AAA';
Oracle 在创建主键(可以不加constrai浮t SYS_AAA),会为库表自动创建索引,
索引的列为主键列。 并且当库表某些列名或者库表名改变时候,
Oracle自动创建的索引SYS_AAA,中的索引列也会自动更新(类似于视图),并且SYS_AAA会与名字更改后的库表还是保持索引关系。 关键系统库表: desc dba_constraints desc dba_cons_columns
desc dba_indexes desc dba_ind_columns desc DBA_TAB_COLUMNS
例子1:更改库表的列名
ALTER TABLE AAA RENAME COLUMN ID TO AAA_ID; create table AAA ( ID NUMBER(8), NAME CHAR(20),
constraint SYS_AAA primary key(ID) );
查找约束名字
select c.CONSTRAINT_NAME,c.table_name,cc.COLUMN_NAME from user_constraints c, user_cons_columns cc
where c.constraint_name=cc.constraint_name and c.table_name ='AAA' AND C.CONSTRAINT_TYPE='P';
CONSTRAINT_NAME TABLE_NAME COLUMN_NAME ------------------------------ ------------ ------------- SYS_AAA AAA ID
查找索引
select index_name,index_type,uniqueness from user_indexes where table_name='AAA'; INDEX_NAME INDEX_TYPE UNIQUENES
问题四:word中如何建立索引 1.要编入目录的行在有正文字样栏点下拉选项样式里设置成标题.同时也可以更改字题及大小,但要使用样式为标题才可以.如果你在编写WORD文档时使用了标题样式,第一步略.
2.视图用大纲视图方式,打开文档结构视图,用向左向右箭头调整目录大纲级别合适为好.
3.光标移到最上面. 4.插入索引和目录,点目录标签.
5.确定,完成.
问题五:如何创建空间索引 into user_sdo_geom_metadata(table_name,COLUMN_NAME, DIMINFO, SRID)
values(
't_city',
'GEOMETRY',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.005),
MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.005)
),
8307
)
问题六:sql怎么建立索引 CREATE INDEX
为给定表或视图创建索引。
只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
语法
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH [ ,...n] ]
[ ON filegroup ]
::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NOREPUTE |
SORT_IN_TEMPDB
}
--这是基本语法,建立索引,只针对查询和一些更新和删除的速度,像性别一列,如果表里面有1000行,如果只有1行是男,这样用索引的话肯定高,如果有990行是男,那么它不如直接扫描了,这是选择性
问题七:数据库索引有哪几种,怎样建立索引 索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。 根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。 在数据库表中创建的索引可以是是唯一索引、主键索引和聚集索引 景安服务器即使为您解答
问题八:如何创建唯一索引 例如,如果计划频繁查询 employee 表中(其中主键为 emp_id)的身份证号码 (ssn)列,并希望确保身份证号码是唯一的,则可以在 ssn 上创建唯一索引。如果用户为一个以上的雇员输入相同的身份证号码,则数据库将显示错误而且无法保存该表。在创建或修改唯一索引时,可以可设置一个忽略重复键的选项。如果此选项已设置为“是”,当您试图通过添加影响多行的数据来创建重复键(使用 INSERT 语句)时,则不会添加包含重复项的行;如果此选项设置为“否”,则整个插入操作将失败,并且将回滚所有数据。 创建唯一索引 在对象资源管理器中,右键单击表,再单击“设计”。此时,将在表设计器中打开该表。在表设计器菜单上,单击“索引/键”。单击“添加”。“选定的主/唯一键或索引”列表将显示新索引的系统分配名称。在网格中,单击“类型”。从属性右侧的下拉列表中选择“索引”。在“列”下,选择要编制索引的列。最多可选择 16 列。为获得最佳的性能,请只为每个索引选择一列或两列。对于所选的每一列,指定索引是以升序还是以降序来排列此列的值。在网格中,单击“是唯一的”。从属性右侧的下拉列表中选择“是”。如果希望忽略会在唯一索引中创建重复键(用 INSERT 语句)的数据,请选择“忽略重复键”选项并选择“是”。在保存表或关系图时将在数据库中创建该索引。注意:如果单个列在多行中包含 NULL,则无法对该列创建唯一索引。同样,如果列的组合在多行中包含 NULL,则无法对多个列创建唯一索引。在进行索引时,它们都被视为重复值。
问题九:怎么创建数据库的索引 打个比方
create table t1(a int);
create index i1 on t1(a);
那么t1表的列a就创建了索引。以后查询t1表,列a有查询条件的时候就可以用到这个索引。
使用索引提高查询效率是数据库自己的事情,一般情况下不需要人为干预索引的使用
问题十:oracle建立索引 对三个字段建立索引:
create index Stuname on student(name);
create index Stusex on student(sex);
create index Stugrade on student(grade);
注意的问题,考虑是不是要建立唯一索引(unique),如果有学号的话,可以考虑建立唯一索引引。
再就是对经常查询,但又相对稳定的可以建立聚簇索引,提高查询效率
这是建索引时的一种考虑。
但是在你这种情况下不适用。
我猜你是想输出大批数据,而不是根据索引选择有数的那么几条。
输出数据占总数据量达到一定比例以后,再用索引就是浪费更多资源而得不到回报了。
因为数据行存储在块中。一块存多行。用索引时是根据索引信息,每一行访问一次数据块。
数据多了会覆盖大多数数据块,并且一个数据块会被访问多次。就不如全表扫描一次,访问一个叮据块就把该块所有行都输出。这样效率最高。
所以你这种情况不应该用索引的。
问题二:如何建立主索引 首先有一点你没有弄明白,数据库表才可以建主索引,自由表是不能建主索引的。也就是说数据库表可以建4种索引:主索引、候选索引、普通索引、唯一索引。但自由表只能建立3种索引:候选索引、普通索引、唯一索引。 如果要建主索引,可以在表设计器窗口的“索引”选项卡中建立,但index on 命令中不能建立主索引,此命令只能建候选索引、普通索引和唯一索引。 如:index on 学号 tag 学号 candidate index on 姓名 tag 姓名 unique index on 性别 tag 性别 (上述三个命令分别的是建立候选索引、唯一索引、普通索引) 但create table 命令中可以在指定字段属性的同时建立此字段为主索引,前提也是必须是数据库表。 举个例子:要求创建一个“学生”数据库中的“学籍”表,字段有学号,姓名,成绩,同时指定学号为主索引。 open data 学生 create table 学籍 (学号 C(6) primary key ,姓名 c(8),成绩 n(5,1))
问题三:oracle 数据库如何建立索引 如何用索引? 5分 方法如下:
Oracle中建立索引,会提高查询速度: create index 索引名 on 表名(列名);
例如:
create index index_userid on tbl_detail(userid);
如何找数据库表的主键字段的名称?
SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='AAA'; select * from dba_cons_columns where CONSTRAINT_NAME='SYS_AAA';
Oracle 在创建主键(可以不加constrai浮t SYS_AAA),会为库表自动创建索引,
索引的列为主键列。 并且当库表某些列名或者库表名改变时候,
Oracle自动创建的索引SYS_AAA,中的索引列也会自动更新(类似于视图),并且SYS_AAA会与名字更改后的库表还是保持索引关系。 关键系统库表: desc dba_constraints desc dba_cons_columns
desc dba_indexes desc dba_ind_columns desc DBA_TAB_COLUMNS
例子1:更改库表的列名
ALTER TABLE AAA RENAME COLUMN ID TO AAA_ID; create table AAA ( ID NUMBER(8), NAME CHAR(20),
constraint SYS_AAA primary key(ID) );
查找约束名字
select c.CONSTRAINT_NAME,c.table_name,cc.COLUMN_NAME from user_constraints c, user_cons_columns cc
where c.constraint_name=cc.constraint_name and c.table_name ='AAA' AND C.CONSTRAINT_TYPE='P';
CONSTRAINT_NAME TABLE_NAME COLUMN_NAME ------------------------------ ------------ ------------- SYS_AAA AAA ID
查找索引
select index_name,index_type,uniqueness from user_indexes where table_name='AAA'; INDEX_NAME INDEX_TYPE UNIQUENES
问题四:word中如何建立索引 1.要编入目录的行在有正文字样栏点下拉选项样式里设置成标题.同时也可以更改字题及大小,但要使用样式为标题才可以.如果你在编写WORD文档时使用了标题样式,第一步略.
2.视图用大纲视图方式,打开文档结构视图,用向左向右箭头调整目录大纲级别合适为好.
3.光标移到最上面. 4.插入索引和目录,点目录标签.
5.确定,完成.
问题五:如何创建空间索引 into user_sdo_geom_metadata(table_name,COLUMN_NAME, DIMINFO, SRID)
values(
't_city',
'GEOMETRY',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.005),
MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.005)
),
8307
)
问题六:sql怎么建立索引 CREATE INDEX
为给定表或视图创建索引。
只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
语法
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH [ ,...n] ]
[ ON filegroup ]
::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NOREPUTE |
SORT_IN_TEMPDB
}
--这是基本语法,建立索引,只针对查询和一些更新和删除的速度,像性别一列,如果表里面有1000行,如果只有1行是男,这样用索引的话肯定高,如果有990行是男,那么它不如直接扫描了,这是选择性
问题七:数据库索引有哪几种,怎样建立索引 索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。 根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。 在数据库表中创建的索引可以是是唯一索引、主键索引和聚集索引 景安服务器即使为您解答
问题八:如何创建唯一索引 例如,如果计划频繁查询 employee 表中(其中主键为 emp_id)的身份证号码 (ssn)列,并希望确保身份证号码是唯一的,则可以在 ssn 上创建唯一索引。如果用户为一个以上的雇员输入相同的身份证号码,则数据库将显示错误而且无法保存该表。在创建或修改唯一索引时,可以可设置一个忽略重复键的选项。如果此选项已设置为“是”,当您试图通过添加影响多行的数据来创建重复键(使用 INSERT 语句)时,则不会添加包含重复项的行;如果此选项设置为“否”,则整个插入操作将失败,并且将回滚所有数据。 创建唯一索引 在对象资源管理器中,右键单击表,再单击“设计”。此时,将在表设计器中打开该表。在表设计器菜单上,单击“索引/键”。单击“添加”。“选定的主/唯一键或索引”列表将显示新索引的系统分配名称。在网格中,单击“类型”。从属性右侧的下拉列表中选择“索引”。在“列”下,选择要编制索引的列。最多可选择 16 列。为获得最佳的性能,请只为每个索引选择一列或两列。对于所选的每一列,指定索引是以升序还是以降序来排列此列的值。在网格中,单击“是唯一的”。从属性右侧的下拉列表中选择“是”。如果希望忽略会在唯一索引中创建重复键(用 INSERT 语句)的数据,请选择“忽略重复键”选项并选择“是”。在保存表或关系图时将在数据库中创建该索引。注意:如果单个列在多行中包含 NULL,则无法对该列创建唯一索引。同样,如果列的组合在多行中包含 NULL,则无法对多个列创建唯一索引。在进行索引时,它们都被视为重复值。
问题九:怎么创建数据库的索引 打个比方
create table t1(a int);
create index i1 on t1(a);
那么t1表的列a就创建了索引。以后查询t1表,列a有查询条件的时候就可以用到这个索引。
使用索引提高查询效率是数据库自己的事情,一般情况下不需要人为干预索引的使用
问题十:oracle建立索引 对三个字段建立索引:
create index Stuname on student(name);
create index Stusex on student(sex);
create index Stugrade on student(grade);
注意的问题,考虑是不是要建立唯一索引(unique),如果有学号的话,可以考虑建立唯一索引引。
再就是对经常查询,但又相对稳定的可以建立聚簇索引,提高查询效率
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询