问题标签 [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.

0 投票
4 回答
31045 浏览

java - 使用 Hibernate @Index Annotation 在 DB 上创建索引

我的项目中有注释驱动的休眠功能。

现在我想在列上创建一个索引。我当前的列定义是

我在这里添加@Index注释。

然后 DROP TABLE 并重新启动 Tomcat 服务器。服务器实例化后,表已创建,但我在以下查询中看不到新索引。

预计用新索引构建表。我正在将 InnoDB 与 MySQL 一起使用。

0 投票
1 回答
1773 浏览

hibernate - HibernateToolTask​​ (hbm2hbmxml) 不会在 @org.hibernate.annotations.Index 注释的休眠映射中生成索引

我正在尝试使用休眠注释从 POJO 生成休眠映射。然后我想使用 liquibase 来生成数据库模式。所以我需要在我的 POJO 中定义索引。

示例 POJO:

但是当我在 ant 中运行 HibernateToolTask​​ 时:

我在映射中没有得到任何索引:

同时,当我做 hbm2ddl - 'create index' 生成:

如何让休眠在映射中生成索引?

更新:

我发现,liquibase 使用注释来生成模式,所以这部分问题得到了解决。我还有一个:

我想将现有数据库反向工程为 POJO。POJO 是从映射生成的,映射(使用 jdbcannotation-hbm2hbmxml 生成)没有任何索引。我相信这本质上是相同的问题:hbm2hbmxml 不生成索引。

更新 2:

为什么我需要那个?我有一个现有的数据库架构。我曾经更改它,然后对 POJO 进行逆向工程。现在我想使用 POJO 并通过注释生成映射和模式。

所以我想让 POJO 与当前数据库模式匹配以继续使用它们。显然,除了外键名称和索引之外的所有内容都是匹配的。但是 hbm2java 不会生成 @Index 注释。例如

此任务在 ddl 中生成索引,而不在 POJO 中生成索引。

0 投票
3 回答
92 浏览

database - 具有灵活索引的数据库?

形成维基百科:http://en.wikipedia.org/wiki/Index_(database)

一些数据库通过允许在函数或表达式上创建索引来扩展索引的功能。例如,可以在 upper(last_name) 上创建一个索引,它只会在索引中存储 last_name 字段的大写版本。有时支持的另一个选项是使用“过滤”索引,其中仅为满足某些条件表达式的记录创建索引条目。灵活性的另一个方面是允许对用户定义的函数以及由各种内置函数形成的表达式进行索引。

那些支持灵活索引的数据库是什么,可以是:

  • 在计算列上,如:(col1 + col2) * 100
  • 过滤索引。
  • 索引用户定义的函数。

以及此功能的已知术语是什么?

0 投票
3 回答
2455 浏览

mysql - mysql - 好习惯:索引不止一个的表?

对不起大家,

我确实有这个包含 3 列的迷你表,但是,我将按一列或另一列列出值。

1) 可以有两个带有索引的列吗?

2)我们应该每张表只有一个索引吗?

3) 在极限情况下,例如,如果我们有一个包含 100 列的表,并且其中有 50 个带有索引,这可以吗?

谢谢,记忆

0 投票
1 回答
5265 浏览

mysql - 在 MySQL 中的日期字段上放置索引

将索引放在日期字段上是否会有任何真正的好处,这些日期字段将主要用于使用类似的东西进行查询。

搜索完成了很多,但我从来没有对它们进行直接比较“=”。

0 投票
2 回答
8572 浏览

mysql - 确定mysql中索引的状态

我在一个有 3500 万条记录的表上创建了一个新索引,它已经运行了将近 1 天。以前,当我创建索引需要 20 分钟时,列却是浮动的。新的 idnex 在 varchar(45) 上

我使用了 processlist 命令,它显示索引创建仍在进行中,输出如下

我想知道是否有人可以给我建议以找出查询是否真的死了并且只是坐在进程列表中。也许在某个阶段出了点问题,我不知道。

谢谢

0 投票
2 回答
2577 浏览

nhibernate - nhibernate中的多个唯一键

我需要以下列方式创建约束:

我有以下 nHibernate 映射:

那么,我怎样才能为描述列添加一个单独的唯一约束呢?

0 投票
2 回答
146 浏览

sql - 要索引哪些列以使此查询更快?

archdetails

svn3

我在in上 有1索引,在on上有索引;; ; 和。compname versionarchdetails4svn3revnorevno, comp, compnamecomp, compnamename, revno, comp, compname

compname 上的索引长度为 100。

查询仍然需要0.16 sec执行,这对我来说非常昂贵。我对索引没有太多经验,上面的索引是用最常用的变量创建的。请告知如何处理索引。

0 投票
2 回答
16249 浏览

database - 我如何知道何时索引列以及使用什么索引?

在各种 ORM 的文档中,他们总是提供一种创建索引的方法等。他们总是提到确保创建适当的索引以提高效率,就好像这是需要使用非手写 SQLer 的固有知识甲骨文。我对索引(PK之外)的理解基本上是:如果您打算LIKE根据列的内容进行查询(即搜索),则应该对该列使用全文索引。关于索引(主要与效率有关),我还应该知道什么?感觉自己家门口有个知识的世界,但是下面塞了一个巨大的折叠鼠标垫,进不去(不知道为什么觉得有必要这么说,但是感谢您提供沙发)。

0 投票
2 回答
1087 浏览

database - 数据库索引 - 表大小重要吗?

我的意思是:具有 20 列的表是否比仅具有 4 列的表更受益于索引某个字段(用于搜索查询)?

另外:向我不经常搜索但将来可能会在以后搜索的字段添加索引有什么害处?添加索引是否有负面影响?仅仅是它在磁盘上占用的大小,还是添加不必要的索引会使事情运行得更慢?

从评论中提取

我正在使用 Postgres(最新版本),并且我有一个表,我将执行很多 LIKE 类型查询等,但是由于我的客户可以访问 CRUD,因此这些值无疑会经常更改。我应该能想到索引的想法吗?他们只是头疼吗?