What is an Index?
An index is a performance-tuning method of allowing faster retrieval of records. An index creates an entry for each value that appears in the indexed columns. By default, Oracle creates B-tree indexes.
Create an Index
The syntax for creating a index is:
CREATE [UNIQUE] INDEX index_name
ON table_name (column1, column2, . column_n)
[ COMPUTE STATISTICS ];
UNIQUE indicates that the combination of values in the indexed columns must be unique.
COMPUTE STATISTICS tells Oracle to collect statistics during the creation of the index. The statistics are then used by the optimizer to choose a "plan of execution" when SQL statements are executed.
For example:
CREATE INDEX supplier_idx
ON supplier (supplier_name);
In this example, we've created an index on the supplier table called supplier_idx. It consists of only one field - the supplier_name field.
We could also create an index with more than one field as in the example below:
CREATE INDEX supplier_idx
ON supplier (supplier_name, city);
We could also choose to collect statistics upon creation of the index as follows:
CREATE INDEX supplier_idx
ON supplier (supplier_name, city)
COMPUTE STATISTICS;
Create a Function-Based Index
In Oracle, you are not restricted to creating indexes on only columns. You can create function-based indexes.
The syntax for creating a function-based index is:
CREATE [UNIQUE] INDEX index_name
ON table_name (function1, function2, . function_n)
[ COMPUTE STATISTICS ];
For example:
CREATE INDEX supplier_idx
ON supplier (UPPER(supplier_name));
In this example, we've created an index based on the uppercase evaluation of the supplier_name field.
However, to be sure that the Oracle optimizer uses this index when executing your SQL statements, be sure that UPPER(supplier_name) does not evaluate to a NULL value. To ensure this, add UPPER(supplier_name) IS NOT NULL to your WHERE clause as follows:
SELECT supplier_id, supplier_name, UPPER(supplier_name)
FROM supplier
WHERE UPPER(supplier_name) IS NOT NULL
ORDER BY UPPER(supplier_name);
Rename an Index
The syntax for renaming an index is:
ALTER INDEX index_name
RENAME TO new_index_name;
For example:
ALTER INDEX supplier_idx
RENAME TO supplier_index_name;
In this example, we're renaming the index called supplier_idx to supplier_index_name.
Collect Statistics on an Index
If you forgot to collect statistics on the index when you first created it or you want to update the statistics, you can always use the ALTER INDEX command to collect statistics at a later date.
The syntax for collecting statistics on an index is:
ALTER INDEX index_name
REBUILD COMPUTE STATISTICS;
For example:
ALTER INDEX supplier_idx
REBUILD COMPUTE STATISTICS;
In this example, we're collecting statistics for the index called supplier_idx.
Drop an Index
The syntax for dropping an index is:
DROP INDEX index_name;
For example:
DROP INDEX supplier_idx;
In this example, we're dropping an index called supplier_idx.
分享到:
相关推荐
在网页设计中,CSS的z-index属性是用来控制定位元素重叠时的堆叠顺序的。当页面上的元素通过CSS定位属性(如position: relative; position: absolute; position: fixed; position: sticky;)被设定为相对定位、绝对...
在网页布局和设计中,CSS属性z-index常用于控制元素的堆叠顺序。如果一个元素的z-index设置为负值,它将位于所有正常流元素之下,可能导致点击事件无法触发。本文主要讲解在给元素设定负值的z-index后,如何解决该...
标题中的"index index.rar"可能表示这是一个包含"index"文件的RAR压缩包,可能是网站或应用程序的索引文件。描述中的"index.rar index.rar index.rar"可能是重复信息,暗示"index.rar"文件的重要性或者强调其在...
参数index默认情况下是True,意味着如果在调用to_csv时不添加index参数,或者直接写为index=True,那么导出的CSV文件中将包含索引列。而设置为index=False后,输出的CSV文件就不会有索引列。 例如,假设我们有一个...
在ThinkPHP框架中,URL地址通常会包含`index.php`,这是框架的入口文件,用于启动应用程序。然而,为了提供更美观和用户友好的URL,我们可以通过配置来省略这个部分。以下是一些详细的步骤和知识点,教你如何在...
### JavaScript的indexOf函数忽略大小写方法 在JavaScript中,`indexOf`函数被广泛用于字符串处理,主要用于查找一个字符串是否包含另一个子字符串,并返回该子字符串第一次出现的位置索引(如果未找到,则返回-1)...
RandIndex.m、README.txt 聚类算法是一种无监督学习方法,用于将数据集中的对象分成不同的组或类别,而无需预先知道正确的分类信息。在实际应用中,我们常常需要评估聚类结果的质量,以判断算法的效果。其中,Rand ...
### String index out of 4解决方法 在编程中,尤其是使用Java进行字符串处理时,经常会遇到`StringIndexOutOfBoundsException`异常。这种异常通常发生在试图访问一个不存在的字符串索引时。例如,如果尝试访问一个...
1,心血来潮,把ThinkPHP项目部署到了nginx上,以上是在apache上跑的。...index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/www.tp.com; include index.php.con
当我们需要在`v-for`循环中跟踪每个项目的唯一标识或执行特定操作时,可以利用其提供的索引`index`值。下面我们将详细探讨在Vue的`v-for`中如何使用索引`index`值。 首先,`v-for`语法的基本形式是: ```html ...
在Excel中,`INDEX`和`MATCH`是两个非常强大的函数,它们经常被结合使用以实现复杂的查找和引用操作。这两个函数的组合可以提供比单一的`VLOOKUP`或`HLOOKUP`更灵活的功能,尤其在处理非连续数据或者需要进行多列...
下面代码实现了将df中的column列作为index df.set_index([Column], inplace=True) 以上这篇Python将DataFrame的某一列作为index的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持...
System.out.println("Element at index " + index + " is: " + item); index++; } ``` 这种方法保持了代码的简洁性,同时提供了索引信息。但是,如果需要在循环体内多次使用索引,这种方法可能会导致代码重复。...
报错大致意思就是创建index.lock文件失败,因为已经存在index.lock文件了. index.lock文件是在.git下面, 而.git是一般是隐藏的, 那么可以通过以下命令删除即可. rm -rf /Users/dianji/project/ccpay.h5/.git/index....
在本文中,我们将探讨如何利用 GPT-Index 这个工具,通过短短的十行代码在自定义数据集上对 GPT-3 进行微调。GPT-3 是由 OpenAI 开发的先进预训练语言模型,以其强大的文本生成和理解能力著称。通过在大量文本数据上...
Keras用IMDB数据源(imdb.npz + imdb_word_index.json) from tensorflow.keras.datasets import imdb (train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000) # word_index is a...
你知道在C:Documents and Settings用户名Local SettingsTemporary Internet FilesContent.IE5文件夹下的index.dat文件吗? <br>不用找了,看不到的,打开查看所有文件也看不到,在Temporary Internet Files...
在Node.js中,`buffer.indexOf()`方法是在较新版本中引入的一个功能,用于在Buffer对象中查找特定的字节序列。然而,在Node.js 4.0版本时,这个方法可能还未被完全支持,因此开发者可能会遇到不兼容的问题。在这种...