小编Rog*_*Ray的帖子

如何让MySQL使用INDEX进行查看查询?

我正在使用Java EE上的MySql数据库进行Web项目.我们需要一个视图来总结来自3个表格的数据,总体上超过3M行.每个表都是使用索引创建的.但是我没有找到一种方法来利用我们用[group by]创建的视图中的条件选择语句检索中的索引.

我得到了人们的建议,即在MySql使用视图并不是一个好主意.因为你不能像在oracle中那样为mysql中的视图创建索引.但是在我进行的一些测试中,索引可以在view select语句中使用.也许我以错误的方式创建了这些观点.

我将用一个例子来描述我的问题.

我们有一张桌子记录了NBA比赛中的高分数据,其中的索引在[eventsnd_in]栏目中

CREATE  TABLE `highscores` (
   `tbl_id` int(11) NOT NULL auto_increment,
   `happened_in` int(4) default NULL,
   `player` int(3) default NULL,
   `score` int(3) default NULL,
   PRIMARY KEY  (`tbl_id`),
   KEY `index_happened_in` (`happened_in`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

插入数据(8行)

INSERT INTO highscores(happened_in, player, score)
VALUES (2006, 24, 61),(2006, 24, 44),(2006, 24, 81),
(1998, 23, 51),(1997, 23, 46),(2006, 3, 55),(2007, 24, 34), (2008, 24, 37);
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个视图,看看科比每年得到的最高分

CREATE OR REPLACE VIEW v_kobe_highScores
AS
   SELECT player, max(score) AS highest_score, …
Run Code Online (Sandbox Code Playgroud)

mysql indexing

54
推荐指数
1
解决办法
7万
查看次数

GCP 中的服务帐号和服务代理有什么区别

假设我有这样的情况

  • 我必须使用数据流运行一些测试
  • 在此数据流作业中,我需要访问 gcs 存储桶并将输出保存在那里。
  • 我需要使用我自己的 SA 而不是默认 SA 来运行数据流作业。

我创建了一个 Google 服务帐户来运行我的数据流作业。但是在我启用数据流API之后。最后我面前有 2 个 SA。

  • 服务帐户代理 -->123456789@dataflow.gserviceaccount.com
  • 数据流作业运行器服务帐户 -->dataflow-job-runner@MY-PROJECT-ID.iam.gserviceaccount.com

看到官方文件说的我真的很困惑

某些 Google Cloud 服务具有 Google 管理的服务帐号,允许这些服务访问您的资源。这些服务帐户有时称为服务代理。

如果我创建一个与 SA 一起运行的数据流作业dataflow-job-runner@MY-PROJECT-ID.iam.gserviceaccount.com,我想我需要roles/storage.objectAdmin为其授予权限。

问题是

  • 我需要向服务帐户代理授予任何权限吗?
  • 服务帐户代理实际上做了什么,它需要什么来访问资源?

service-accounts google-cloud-platform

8
推荐指数
1
解决办法
4139
查看次数