问题标签 [indexing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
12082 浏览

database - 多个索引可以一起工作吗?

假设我有一个包含两个字段“foo”和“bar”的数据库表。它们都不是唯一的,但它们中的每一个都被索引。但是,它们不是一起索引,而是每个都有一个单独的索引。

现在假设我执行一个查询,例如SELECT * FROM sometable WHERE foo='hello' AND bar='world'; 我的表,其中 foo 为“hello”的大量行和 bar 为“world”的少量行。

所以数据库服务器在底层做的最有效的事情是使用 bar 索引来查找 bar 为 'world' 的所有字段,然后只返回 foo 为 'hello' 的那些行。这是O(n)其中 n 是 bar 为“world”的行数。

但是,我想这个过程可能会反过来发生,即使用 fo 索引并搜索结果。这将是O(m)其中 m 是 foo 是“hello”的行数。

那么 Oracle 是否足够聪明,可以在这里高效搜索?其他数据库呢?或者有什么方法可以在我的查询中告诉它以正确的顺序搜索?也许通过将条款bar='world'放在首位WHERE

0 投票
5 回答
5221 浏览

sql-server - 什么是假设指标?

有人知道 sql server 2000 中使用了哪些假设索引吗?我有一个包含 15 多个此类索引的表,但不知道它们是为什么而创建的。他们可以减慢删除/插入的速度吗?

0 投票
9 回答
529 浏览

sql - 您是否将索引放在源代码管理中?

以及如何使它们在测试和生产环境之间保持同步?

当谈到数据库表的索引时,我的理念是它们是编写任何查询数据库的代码的一个组成部分。如果不分析对索引的影响,就无法引入新查询或更改查询。

所以我尽我最大的努力让我的索引在我所有的环境之间保持同步,但老实说,我在自动化这方面做得不是很好。这是一种随意的手动过程。

我会定期查看索引统计数据并删除不必要的索引。我通常通过创建一个删除脚本来执行此操作,然后将其复制回其他环境。

但是这里和那里的索引是在正常过程之外创建和删除的,很难看出差异在哪里。

我发现真正有用的一件事是使用简单的数字索引名称,例如

其中 t 是表格的缩写。当我试图对所有涉及的列变得聪明时,我发现索引维护是不可能的,比如,

区分这样的索引太难了。

有人有将索引维护集成到源代码控制和开发生命周期中的真正好方法吗?

0 投票
39 回答
5269453 浏览

python - 查找列表中项目的索引

给定一个列表["foo", "bar", "baz"]和列表中的一个项目"bar",我如何1在 Python 中获取它的索引 ()?

0 投票
2 回答
6399 浏览

sql-server - 如何估计 SQL Server 索引大小

虽然估计直线行和表大小是相当简单的数学运算,但我们发现猜测每个索引将占用多少空间(对于给定的表大小)具有挑战性。我们可以学习哪些领域来计算指数的更好估计和增长率?

0 投票
3 回答
1522 浏览

search - 你能推荐一个非结构化数据索引软件吗?

我正在从几个定制的应用程序中收集日志。每个应用程序都有自己的日志格式。我正在寻找的是一个中心工具,它可以让我搜索我的所有日​​志。这意味着该工具必须能够为每个日志文件定义不同的正则表达式(或类似的)(标记记录的开始位置、结束位置以及字段是什么)。我一直在尝试 Splunk,但我对此并不满意,因为性能很慢,我每天的索引数据量有限(免费版),而且它不像我想要的那样灵活. 你能为这项任务推荐一个软件(最好是免费的或便宜的)吗?

0 投票
5 回答
360582 浏览

sql-server - 多索引与多列索引

跨多列创建一个索引与创建多个索引(每列一个索引)有什么区别?

有什么理由为什么应该使用一个而不是另一个?

例如:

相对:

0 投票
10 回答
70721 浏览

c# - 获取字符串第 n 次出现的索引?

除非我遗漏了一个明显的内置方法,否则在字符串中第n次出现字符串的最快方法是什么?

我意识到我可以通过在循环的每次迭代中更新它的起始索引来循环IndexOf方法。但这样做对我来说似乎很浪费。

0 投票
2 回答
2884 浏览

sql-server - SQL Server STATISTICS

So for this one project, we have a bunch of queries that are executed on a regular basis (every minute or so. I used the "Analyze Query in Database Engine " to check on them.

They are pretty simple: select * from tablex where processed='0'

There is an index on processed, and each query should return <1000 rows on a table with 1MM records.

The Analyzer recommended creating some STATISTICS on this.... So my question is: What are those statistics ? do they really help performance ? how costly are they for a table like above ?

Please bear in mind that by no means I would call myself a SQL Server experienced user ... And this is the first time using this Analyzer.

0 投票
1 回答
15670 浏览

oracle - 如何在 PL/SQL 包中将会话变量 skip_unusable_indexes 设置为 true 以加速表删除/插入?

我正在尝试加快通过 PL/SQL 存储过程控制的数据加载。我以编程方式将要刷新的表的索引更改为不可用。我希望 Oracle 忽略这些不可用的索引。我可以发表声明:

但我随后得到了错误:

ORA-01502: 索引 'MY_INDEX_NAME' 或此类索引的分区处于不可用状态

所以它似乎忽略了我的改变会话。

我可以在 PL/SQL 包中更改我的会话吗?如果没有,我的选择是什么?我还能如何禁用(设置不可用)索引以加快负载?

这里有一个有点相关的问题。