- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
默认情况下,Oracle 使用创建的索引。
当我更改为 NLS_COMP=Linguistic 和 NLS_Sort=Binary_CI 时,我会得到全表扫描。
我读过使用 (nlssort(name, 'NLS_SORT=BINARY_CI')) 创建索引的地方;
会工作。
正如我在下面的尝试所示,不是那么多。即使我强制它,性能似乎也不是我所期望的。这是一个简单的例子,我喜欢为一个有数百万行的表解决这个问题,所以全表扫描会很糟糕。
所以问题是我如何构建索引以便使用它们。
谢谢
-- 设置 X
create table x ( name varchar2(30)) ;
insert into x select table_name from all_tables;
create index x_ix on x (name);
create index x_ic on x (nlssort(name, 'NLS_SORT=BINARY_CI'));
/
ALTER SESSION SET NLS_COMP=BINARY;
ALTER SESSION SET NLS_SORT=BINARY;
/
set autotrace on
/
select * from X where NAME like 'x%';
--0 rows selected
--
---------------------------------------------------------------------------
--| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
--| 0 | SELECT STATEMENT | | 1 | 17 | 1 (0)| 00:00:01 |
--|* 1 | INDEX RANGE SCAN| X_IX | 1 | 17 | 1 (0)| 00:00:01 |
---------------------------------------------------------------------------
/
set autotrace off
/
ALTER SESSION SET NLS_COMP=LINGUISTIC;
ALTER SESSION SET NLS_SORT=BINARY_CI;
/
set autotrace on
/
select * from X where NAME like 'x%';
--13 rows selected
--
----------------------------------------------------------------------------
--| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
--| 0 | SELECT STATEMENT | | 1 | 17 | 3 (0)| 00:00:01 |
--|* 1 | TABLE ACCESS FULL| X | 1 | 17 | 3 (0)| 00:00:01 |
----------------------------------------------------------------------------
select /*+ INDEX( X X_IX ) */ * from X where NAME like 'x%';
--13 rows selected
--
---------------------------------------------------------------------------
--| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
--| 0 | SELECT STATEMENT | | 1 | 17 | 9 (0)| 00:00:01 |
--|* 1 | INDEX FULL SCAN | X_IX | 1 | 17 | 9 (0)| 00:00:01 |
---------------------------------------------------------------------------
select /*+ INDEX( X X_IC ) */ * from X where NAME like 'x%';
--13 rows selected
--
--------------------------------------------------------------------------------------
--| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------
--| 0 | SELECT STATEMENT | | 1 | 17 | 448 (1)| 00:00:06 |
--|* 1 | TABLE ACCESS BY INDEX ROWID| X | 1 | 17 | 448 (1)| 00:00:06 |
--| 2 | INDEX FULL SCAN | X_IC | 1629 | | 8 (0)| 00:00:01 |
--------------------------------------------------------------------------------------
/
set autotrace off
/
最佳答案
从 Oracle 11g 开始 - LIKE CAN 使用语言索引。
文档修改为:
The SQL functions MAX( ) and MIN( ) cannot use linguistic indexes when NLS_COMP is set to LINGUISTIC
关于sql - ORACLE - 如何创建将在 NLS_COMP=Linguistic 和 NLS_Sort=Binary_CI 时使用的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1380068/
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我的目标是分析一些语料库(现在为推特)以获取情感内容。就在今天,我意识到搜索单词词干有点有意义,而不是拥有详尽的情感单词词干列表。因此,我一直在探索nltk.stem才意识到有4种不同的词干。我想问一
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
如何使用 Javascript 重新触发 GitHub 的语法荧光笔? 在 GitHub 上查看代码文件时,有时 GitHub's Linguist以某种方式被调用。在我的 Chrome Inspec
我正在使用 Qt 语言学家翻译一个 ui 文件。我使用 lupdate 获取了它的 ts 文件,并翻译了这些单词和短语。现在我想将它添加到我的代码中,但我从它的教程中发现我似乎必须将 tr() 添加到
我的 repo 有几个包含 smartBASIC 源代码的 *.sb 文件。这些文件不会出现在 repo 的语言栏中(因为 smartBASIC 及其关联的文件扩展名不是默认语言学家定义的一部分)。
运行lupdate时,qml 文件中的任何qsTr都无法识别。生成的 .ts 文件不包含任何翻译上下文。 $ lupdate -verbose App.pro Updating 'translatio
我得到了这样一行 Qlabel: QString(tr("Are you sure you want to delete the scene called %1 ?")).arg(variable);
在 linguist 上的 GitHub 文档中, section关于使用 .gitattributes文件说一个路径可以被标记为vendored,因此在存储库的统计跟踪中被忽略,具有: specia
我没有找到执行此操作的方法 - 只能编辑现有字段的翻译。 如果没有办法做到这一点 - 应该如何完成(不知何故自动,因为现在我正在手动添加 x xx block 到我的 .ts 文件
我正在使用 Linux Mint 16,但遇到了问题。 我从 Qt 站点下载的二进制包安装了 Qt Creator 5.2.1。我没有 Qt Linguist...另外,我已经从存储库安装了 qtcr
我如何在 Phoenix 中使用 linguist 包?我正在尝试在网页中进行国际化。我已将包添加到 mix.exs 并运行 mix deps.get成功。 现在,我不知道在哪个文件夹中写入包的模块文
我注意到 Qt TS 文件中的某些消息的翻译元素具有“消失”类型,但其用途尚不清楚。似乎只有“未命名”上下文中的消息才具有这种类型。对应DTD只说这个值是在Qt 5.2中引入的,我找不到任何其他文档。
我需要对现有的 Java 项目进行国际化。我已经在使用 Qt 的 C++ 项目中使用 Qt Linguist,我希望(并且必须)为我的 Java 项目保留相同的过程,而不是使用 java Ressou
我正在努力为我们的 GUI 支持不同的语言。我在翻译其中包含“\n”的字符串时遇到问题。他们似乎被忽略了。 在 Qt Designer 中,我在文本字段中有一个 QCheckBox: Here's a
我正在尝试将我的语言翻译成另一种任意语言。 但就我而言,我使用 vs2013->Qt5 项目->Qt 应用程序生成了项目。 所以我没有“.pro”文件或 qmake.exe 文件。 但是当我搜索使用语
我已经检查了很多与 Qt Linguist 相关的问题,但我还没有找到针对我的特定问题的解决方案。 我有一个(中文)翻译文件,其中许多字段都已正确填写。 我的问题是,在我的应用程序中,只有基于 .ui
默认情况下,Oracle 使用创建的索引。 当我更改为 NLS_COMP=Linguistic 和 NLS_Sort=Binary_CI 时,我会得到全表扫描。 我读过使用 (nlssort(name
我找到了如何在 CMake 中使用 .ts 文件: SET(TRANS localization/en_en.ts) QT5_ADD_TRANSLATION(QM ${TRANS}) (并添加到可执行
我是一名优秀的程序员,十分优秀!