当前位置: 首页 > 知识库问答 >
问题:

MySQL在一个表中创建两列数据的索引和

胡玉书
2023-03-14

 >> table1
 -------------------------------------------------------------
 | column1 | column2 | column3 | column4 | column5 | column6 |
 +---------+---------+---------+---------+---------+---------+
 |  data1  |  data2  |  data3  |  data4  |  data5  |  data6  |
 +---------+---------+---------+---------+---------+---------+
 |  data7  |  data8  |  data9  |  data10 |  data11 |  data12 | 
 +---------+---------+---------+---------+---------+---------+
                               .
                               .
                               .
 +---------+---------+---------+---------+---------+---------+
 |  data   |  data   |  data   |  data   |  data   |  data   | 
 -------------------------------------------------------------

 >> query
 SELECT * FROM table1
     WHERE (column5 + column6) >= 6;


如何在MySQL中为此查询创建索引?

共有2个答案

孔皓
2023-03-14

我不相信你能在两列的总和上创建一个索引。

您可以添加一个包含第5列第6列和索引的附加字段。

您可以创建一个视图,其中包含一个等于 column5 column6 的附加列,并在此基础上编制索引。

宿洋
2023-03-14

较新版本的MySQL (5.7.6)(以及5.2中带有< code>VIRTUAL列的MariaDB)有“生成的”列。您可以创建(col5 col6)这样的列,然后索引这个假列。这种列可以< code >存储在表中,也可以< code >虚拟。阅读文档以了解详细信息。

col56 GENERATED ALWAYS AS (col5 + col6) VIRTUAL  -- or STORED
 类似资料:
  • 问题内容: 我面临以下问题,我不确定什么是最佳实践。 考虑下表(该表会变大): id PK | Giver_id FK | FK | 日期 我正在使用InnoDB,据我了解,它会自动为两个外键列创建索引。但是,我还将在需要匹配以下特定组合的情况下进行大量查询: 。 每个这样的组合在表中将是唯一的。 在这些列上添加双列索引有什么好处,还是理论上两个单独的索引足够/相同? 问题答案: 如果您有两个单列

  • 我有一个数据框,我正在使用TIA来填充彭博社的数据。当我看着df。索引我看到我打算成为列的数据以多索引的形式呈现给我。df的输出。列是这样的: 索引([u'column1','u'column2']) 我尝试过各种reset_index的迭代,但都无法补救这种情况。 1) TIA管理器如何使数据帧列作为索引读入? 2) 如何正确地将这些列标识为列而不是多索引? 我试图解决的最终问题是,当我尝试将此

  • 已知数据表,请问如何根据表的字段创建ES索引,并且能自动实时更新,这个要如何做到呢,大致的步骤是怎么样的?

  • 主要内容:基本语法,创建普通索引,创建唯一索引创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度。创建索引对 MySQL 数据库的高效运行来说是很重要的。 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREATE INDEX 语句 可以使用专门用于创建索引的 CREATE INDEX 语句在一个已有的表上创建索引,但该语句不能创建主键。 语法格式: CREATE <索引名> ON <表名> (<列名> [

  • 问题内容: 我有一个具有多个列和行的数据框 df1 。简单的例子: 我想创建一个空的数据框 df2, 然后再添加带有计算结果的新列。 目前,我的代码如下所示: …添加两个新列: 有没有更好/更安全/更快的方法呢?是否可以创建一个空的数据帧df2并仅从df1复制索引? 问题答案: 这将创建一个没有列但只有一个索引的DataFrame,并且它将与df1中的索引相同。

  • 假设我有一个至少有两列col1和col2的数据帧。此外,我还有另一个数据帧,其列名是col1中的值,其索引是col2中的值。 现在我想添加col3,它在col1的索引处和col2的列中给出第二个数据帧的值。结果应该如下所示: 谢谢大家!!