问题标签 [database-indexes]
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.
postgresql - PostgreSQL 9.1 数组索引
什么索引将提高表的数据库性能
对于请求WHERE my_table.word_set @> '<some word>'
sql-server - SQL Server 是否支持哈希索引?
SQL Server B 树中的所有索引都在吗?
当然主键和外键应该是基于哈希的索引?
cassandra - 为什么 Cassandra 中的超级列不再受青睐?
我在最新版本中读到,由于“性能问题”,超级列是不可取的,但没有在哪里解释。
然后我阅读了这篇文章,这些文章使用超级列提供了出色的索引模式。
这让我不知道目前在 Cassandra 中进行索引的最佳方法是什么。
- 超级列的性能问题是什么?
- 在哪里可以找到当前的索引最佳实践?
mysql - MySQL 索引更新
假设我有 3 列,“Col1、Col2 和 Col3”,并且在 Col1 上有一个索引。如果我对 Col3 中的数据进行更新(例如:更改一个 int),是否必须重新制作或再次更新索引,即使我根本没有触及索引列(Col1 的)数据?
indexing - Cassandra 1.1 存储引擎如何存储复合材料?
当涉及到复合列时,我试图了解 Cassandra 的存储引擎。不幸的是,到目前为止我阅读的文档包含错误,让我有点空白。
首先,术语。
复合列使用复合主键包含完全非规范化的宽行。
这似乎具有误导性,因为根据 AFAIK,复合列可以用于复合键,也可以简单地用作键之外的复合列。
1:复合键和列名是如何实现的?我能找到的每个 CQL 示例仅将复合键显示为列,而不是普通的复合列。
假设我们有列'a'、'b'、'c'、'd'作为主复合键+列'e'、'f'。我知道 'a' 将是行和分区键。
让我们假设以下数据:
2:这是如何存储在引擎盖下的?我想这里真正的问题是'b'、'c'、'd' 是如何映射出来的,因为根据定义,列不是分层的。
3:我阅读的文档说不应再使用紧凑型存储。但是如果不需要添加非主键列怎么办......那不使用它的原因是什么?
database - 数据库索引示例
关于数据库索引如何工作的一个简单问题。
假设我有一个表 'Student' 列 id(primary_key)、name 和 GPA。假设我在 id 和其他列上没有索引
现在,如果我使用名称和 GPA(不使用 id)查询记录,它必须搜索所有记录以查找匹配项。索引在这里有什么好处?
索引是否仅在查询包含索引列时才有效?
cassandra - Cassandra 1.1 复合键/列和分层查询
到目前为止,这是我对当前 Cassandra 架构的理解:
- 由于性能问题,不再需要超级列。
- 复合列(实际上是键)是索引分层键的好选择。
- 复合列按排序顺序存储嵌套组件。没有实际的索引。
我有一些疑问:
- 我所说的一切都正确吗?
- 复合列能否有效地处理每个组件的范围查询(假设逻辑使用)?
- 复合列是否适合大量行,同时仍能产生快速查询结果(考虑到它们本身不是索引)?
- 是否可以针对复合列创建二级索引。如果是,是否可以有效地执行范围查询?
提前致谢。
database - DB 设计和性能:使用冗余 FK 来提高性能是否可行?
假设我有以下数据库结构:
并且我的应用程序需要显示包含所有详细信息(型号、产品系列、品牌、生产商)的文章列表。为此,我需要进行更多的 JOIN 以获得所需的数据。
如果我通过为 Article 表创建冗余 FK 来提高应用程序的性能,是否可以,如下所示?它真的提高了性能吗?
mysql - EXPLAIN SELECT 显示 MySQL 没有使用我的索引
表定义,注意UNIQUE
索引:
因此,MySQL 应该在搜索中使用索引,例如WHERE name = 'tag' and type = 'cat'
以及 only (leftmost prefixing) WHERE type = 'tag'
。
我做了:
结果是(第五列是possible_keys
):
我确定我错过了一些东西,但找不到什么。有什么线索吗?
mongodb - MongoDB - 具有许多排列的搜索引擎
我们有一个 mongo 集合,可以在许多领域进行搜索和排序。举个例子(对不起,由于保密,我不能放真正的收藏),我们采取:
我们可以搜索 Creator、Difficulty、Categorie、NbOfQuestion。并按喜欢、不喜欢、成功和失败进行排序。
前任:
- 给我难度 3 的问题,类别 20 按点赞数排序。
- 给我 5 个问题的问题,按失败排序。
- 给我难度为 1、类别 10、2 的问题,由 Einstein 创建。
- 给我所有按成功排序的问题。
等等......你得到的图片所有的排列都是可能的,我们可以选择在一个字段上排序。
这里的问题是我们有数百万条记录。索引花费我们至少 30 gig。另外,因为我们有这么多的索引,它压低了这个集合的写入速度。虽然它正在破坏写作,但它正在锁定阅读。所以我们读了很多,写的可能少了一点,但仍然很多。
我搜索“搜索引擎解决方案”,但我只能在“全文搜索”上找到东西,这不是我的情况。
我们还尝试将难度、Categorie 和 NbOfQuestion 合并到一个数组中(通过将值乘以 10 因子以保持它们之间的一致性)以仅在该数组上建立索引并节省一些空间。
任何事后诸葛亮将不胜感激!
谢谢,
查尔斯