小编tpu*_*nen的帖子

如何使用group by statement + max函数加速SQL查询?

我有一个包含数百万行的表,我需要做大量的查询,如下所示:

select max(date_field) 
where varchar_field1 = 'something' 
group by varchar_field2;
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 有没有办法创建索引来帮助这个查询?
  • 我有哪些(其他)选项来增强此查询的性能?

sql oracle

3
推荐指数
1
解决办法
9065
查看次数

Vue.$router.push 具有相同的路由但不同的参数 - 如何触发转换?

我的应用程序用于this.$router.push更改状态。第一条路线是/page/1,下一条路线/page/2依此类推。我的问题是,由于 Vue 不会重新加载组件,因此不会触发过渡效果。我怎样才能解决这个问题?我不介意是否需要重新创建整个组件。

由于没有父组件,我没有找到使用 :key 的方法。

应用程序.vue:

<collapse-transition origin="center" mode="out-in" :duration="250">
  <router-view/>
</collapse-transition>
Run Code Online (Sandbox Code Playgroud)

路由器.ts:

{
  path: '/page/:case',
  name: 'Page',
  component: Page,
},            
Run Code Online (Sandbox Code Playgroud)

页面组件:

this.$router.push("/page/" + case + 1)
Run Code Online (Sandbox Code Playgroud)

vuejs2

3
推荐指数
1
解决办法
2439
查看次数

将 websockets 集成到 Django Rest Framework 应用程序的简单方法?

我的游戏应用程序使用带有 DRF 的 Vue 前端和 Django 后端。多个客户端连接到同一个游戏会话。有时,某些用户所做的某些事情也必须反映给其他用户。为此,服务器必须具有请求客户端刷新数据的方法。

Django 应用程序部署在 Elastic beanstalk 上。典型的游戏会话有 10 个玩家,更新请求每 15 秒发送一次给玩家,我不相信在可预见的未来我们会同时有超过 50 个游戏,因此性能要求很低。

我正在寻找一个简单的解决方案来将更新请求消息推送到客户端。

我当前的解决方案使用运行在 ec2 上的 Redis 服务器。当 Django 视图发生变化时,Django 向 Redis 发布更新请求:

r = redis.Redis(host=settings.REDIS_IP, port=6379, db=0)
r.publish(game_identifier, type)
Run Code Online (Sandbox Code Playgroud)

“类型”包含应该更新哪种数据的信息。

此外,我还实现了一个简单的 Node 应用程序。所有客户端都使用 Websocket 连接到此应用程序。该应用程序也是 Redis 的订阅者,每当有通知时,它就会使用他们的游戏标识符作为频道向订阅者发出通知。在此之后,客户端使用 REST 刷新它们的状态。Node 应用程序也在 Elastic Beanstalk 上运行。

一切正常,但拥有一个 Elastic Beanstalk 应用程序和一个仅用于向客户端发送简单通知的 ec2 实例似乎有点矫枉过正。我很想听听如何用较少的移动部件构建这个简单的通知。如果后端是使用 Node 构建的,我只需几行代码就可以做到这一点。

一些可能性/问题:

  • 用 Elasticache 替换 Redis 实例?
  • 用 Django Channels 替换 Node 应用程序?
  • 有没有办法在没有 Redis / Elasticache 的情况下完全应对?禁用通道层?(我对 Channels 还不太熟悉。)
  • 还有什么?

django amazon-web-services websocket django-rest-framework django-channels

3
推荐指数
1
解决办法
7124
查看次数

如果我在没有ORDER BY的情况下对SQL SELECT查询进行分区,结果是否具有确定性?

我有SQL SELECT查询返回很多行,我必须将它分成几个分区.即,将max results设置为10000并迭代调用查询选择时间的行,并增加第一个结果(0,10000,20000).所有查询都在同一个事务中完成,我的查询所提取的数据在此过程中不会发生变化(但这些表中的其他数据可能会发生变化).

是否可以使用普通选择:

select a from b where...
Run Code Online (Sandbox Code Playgroud)

或者我必须使用选择使用顺序:

select a from b where ... order by c
Run Code Online (Sandbox Code Playgroud)

为了确保我将获得所有行?换句话说,是否保证没有order by的查询总是以相同的顺序返回行?

向查询添加顺序会显着降低查询的性能.

如果这很重要,我正在使用Oracle.

编辑:不幸的是我不能利用可滚动的光标.

sql

2
推荐指数
1
解决办法
1906
查看次数

如何使用PHP模拟XMLHttpRequest客户端?

我正在寻找一个如何使用PHP模拟XMLHttpRequest客户端的示例.

换句话说,通过HTTP POST消息发送请求,并接收和处理回调消息.

php ajax xmlhttprequest

2
推荐指数
2
解决办法
9640
查看次数

来自JNDI的对象引用查找导致ClassCastException

我在容器外调用EJB3无状态bean时遇到问题.

获取对象引用的代码:

Context envCtx = (Context) context.lookup("ejb");
MyObject o = (MyObject) envCtx.lookup(MyObject);
Run Code Online (Sandbox Code Playgroud)

第二行导致异常:

java.lang.ClassCastException: javax.naming.Reference
Run Code Online (Sandbox Code Playgroud)

我使用JBoss.org 5.1.0 GA.

根据其他一些帖子,我怀疑这可能是由于客户端库的错误版本所致.但是,我不确定哪个库jar应该包含在jar中?(我使用5.0.4.GA jnpserver获取错误.)

java jboss jndi jboss5.x ejb-3.0

2
推荐指数
1
解决办法
3956
查看次数

通过Heroku安全使用Google服务帐户

我正在尝试将Google Cloud Vision API与Node结合使用,并在Heroku上运行该应用程序。非常接近此示例的内容:

https://github.com/googleapis/nodejs-vision

但是,Google API希望通过读取包含服务帐户的文件进行身份验证,并使用环境变量读取文件的位置。有没有办法使用Heroku安全地存储此文件,或者以某种方式利用Heroku Config Vars?

heroku node.js google-cloud-platform

2
推荐指数
1
解决办法
1115
查看次数

Apache ECharts:旋转标签被裁剪

我正在尝试在图表中使用旋转标签。然而,标签正在被裁剪。如何在底部腾出更多空间以便放置标签?

在此输入图像描述

  options = {
    xAxis: {
      type: "category",
      data: axis,
      axisLabel: {
        show: true,
        interval: 0,
        rotate: 45,
      },
      axisTick: {
        show: true,
        interval: 0
      }
    },
    yAxis: {
      type: "value",
      data: axis,
      min: 1,
      minInterval: 1,
      maxInterval: 1,
      max: 15,
      axisTick: {
        interval: 1
      }
    },
    series: [
      {
        type: "bar",
        stack: "minmax",
        itemStyle: {
          normal: {
            color: "rgba(0,0,0,0)"
          }
        },
        data: maxs
      },
      {
        type: "bar",
        stack: "minmax",
        data: mins,
        itemStyle: { color: "#63869e" }
      },
      {
        symbolSize: …
Run Code Online (Sandbox Code Playgroud)

echarts

2
推荐指数
1
解决办法
5678
查看次数

将包含值范围的字符串解析为最小和最大变量v2

我需要根据以下规则将字符串解析为两个变量,并且我正在寻找在PHP中实现此目的的最佳方法:

"40.3" -> minval=40.3, maxval=40.3
"-40.3" -> minval=-40.3, maxval=-40.3
"40.3-60.76" -> minval=40.3, maxval=60.76
"-40.3-60.76" -> minval=-40.3, maxval=60.76
"-60.76--40.3" -> minval=-60.76, maxval=-40.3
Run Code Online (Sandbox Code Playgroud)

不幸的是,我必须使用减去负值和范围分隔符.

这与我之前的问题非常相似:

将包含值范围的字符串解析为最小和最大变量

(我已经发布了第二个问题,但发现我弄乱了桌子.希望现在好了.)

php

1
推荐指数
2
解决办法
222
查看次数

利用现有数据库的应用程序的Web框架?

使用PHP编写并使用MySql数据库的遗留Web应用程序需要完全重写.但是,现有的数据库结构根本不能更改.

我正在寻找哪种框架最适合这项任务的建议?候选语言是Python,PHP,Ruby和Java.

根据许多消息来源,使用现有数据库有效地使用rails可能具有挑战性.另外,我还没有找到一种从数据库中自动生成模型的方法.

使用Django,可以很容易地自动生成模型.但是,我很欣赏其与旧版数据库的适用性的第一手经验.有问题的数据库包含各种主键,包括许多复合键.

我也很欣赏其他值得考虑的框架的建议.

php ruby python java

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