Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在oracle中创建索引时的表空间_Oracle_Indexing_Tablespace - Fatal编程技术网

在oracle中创建索引时的表空间

在oracle中创建索引时的表空间,oracle,indexing,tablespace,Oracle,Indexing,Tablespace,在oracle中为索引分配表空间与在创建时不分配任何表空间有什么区别?有什么优点或缺点吗?如果有优势,有没有办法知道哪一个表空间是可以分配给索引的最佳表空间?如果在创建索引时未指定表空间,则将在该用户的默认表空间中创建该表空间 默认情况下,数据库中有多个表空间。例如,在我的11gXE中: SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME ------------------------------ SYST

在oracle中为索引分配表空间与在创建时不分配任何表空间有什么区别?有什么优点或缺点吗?如果有优势,有没有办法知道哪一个表空间是可以分配给索引的最佳表空间?

如果在创建索引时未指定表空间,则将在该用户的默认表空间中创建该表空间

默认情况下,数据库中有多个表空间。例如,在我的11gXE中:

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

SQL>
如您所见,没有名称听起来像索引的表空间。但是,如果你愿意,你可以创建一个。几年前,将数据与索引分开,将它们放在各自的表空间中,放在不同的硬盘上,以期获得更好的性能,这是有意义的。回答您的问题:哪个表空间最好?您将为索引创建的索引

然而,如今,有了快速、现代化的服务器,这是不可能做到的,因为Oracle负责一切。有些人说他们喜欢做DBA,看着Oracle管理自己


因此,只需创建索引,不必担心其余部分。

我有3个可用的表空间:tab_2k、tab_8k和tab_16k。我试图优化一个查询,并根据我将索引分配给哪个表空间,一致GET的数量是高还是低。最好的情况是将索引分配给tab_16k。后一种情况比指定的默认表空间更好。我想知道为什么某些表空间比其他表空间更好。纯粹是猜测,但我希望tab_2k使用2048字节的页面大小,tab_4k使用4096字节的页面大小,tab_16k使用16384字节的页面大小。我预计tab_16k上的一个对象所需的物理I/O数量大约是tab_2k上的同一个对象的八分之一。YMMV@BobJarvis说,这个评论可能应该澄清一下,因为它听起来好像tab_16k无条件地比tab_2k好。如果您正在读取一个40字节项的索引,那么将加载16k,并将其保留在缓冲区缓存中,而不是2k。因此,平均而言,I/O更少,但可能会浪费更多的RAM。