当前位置: 首页 > 面试题库 >

为字段分组创建索引?

徐奇
2023-03-14
问题内容

您是否需要为Oracle数据库中按字段分组的字段创建索引?

例如:

select * 
from some_table
where field_one is not null and field_two = ?
group by field_three, field_four, field_five

我正在测试我为上面创建的索引,与此查询唯一相关的索引是为field_two创建的索引。在任何其他字段上创建的其他单字段索引或组合索引将不会用于上述查询。这听起来正确吗?


问题答案:

可能是正确的,但这取决于您拥有多少数据。通常,我会为我在GROUP
BY中使用的列创建索引,但是在您的情况下,优化器可能已经决定,在使用field_two索引之后,将没有足够的数据返回来证明使用GROUP的其他索引是合理的经过。



 类似资料:
  • 问题内容: 我在对象上创建索引,并希望既可以进行完整短语搜索也可以进行部分匹配。该类型称为“发送方”,简化的索引创建如下所示: 这样做的目的是对“名称”字段中的值建立索引两次:一次是不拆分字段中的各个单词(name.full),一次是拆分单词(name.name)。 我有一个已建立索引的文档,其名称字段设置为“ Danny Watson博士”。我希望在执行术语查询(根据文档未分析其查询字符串)时发

  • 问题内容: 如何在DATETIME字段的日期部分创建索引? TranDateTime用于保存交易发生的日期和时间 我的表中有超过1,000,000条记录,并且该语句 花费很长时间。 编辑: 看看上“这个博客帖子为什么可以和应该避免MySQL的DATETIME ” 问题答案: 如果我没记错的话,这将运行整个表扫描,因为您正在通过函数传递列。MySQL将乖乖地为每一列运行该函数,而绕过索引,因为查询优

  • 我有一列索引,每个索引都有对应的单词: 等等 我想按索引将它们按如下方式分组:对于id 1-[word1,word2,word3]对于id 2-[word4,word5] 诸如此类 并提取到CSV文件 我有这个代码: 我需要做什么改变才能让它起作用? 提前谢谢你

  • 创建分组       进入分组管理界面,点击新增分组,打开新增分组面板,输入分组名称,选择对应的权限,点击确定,完成分组创建。

  • 创建一个分组,是非常简单的,我们来学习下吧 try { // 创建分组 $group = Sentry::createGroup(array( 'name' => 'admin', 'permissions' => array( 'admin.index' => 1, 'users.ind

  • 如何创建计算字段以及怎么样从应用程序中使用别名。 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式,例如: 显示两个信息,但不是在用一个表 不同列中,但程序需要把他们作为一个格式的字段检索出来 列数据是大小混合,但程序需要把所以数据按大写表示。 物品订单表存储的物品的价格和数量,但没有存储物品的总价,打印时,需要物品的总价格。 根据需要表的数据进行总数,平均数等计算。 上面的情况都我们