首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WX2中更改队列Id?

如何在WX2中更改队列Id?
EN

Stack Overflow用户
提问于 2015-08-28 06:40:33
回答 1查看 32关注 0票数 0

以下是队列中的当前记录。

代码语言:javascript
复制
SELECT * FROM SYS.IPE_ALLQUEUES;

ID      NAME
------- ----------
100004  NAGIOS
1       DEFAULT
100003  OTHER
100002  APP
100001  ANALYST
0       NONQUEUED

ID列当前定义为整数,我们计划将其更改为SMALLINT。因此,我需要按以下方式更改id

代码语言:javascript
复制
SELECT * FROM SYS.IPE_ALLQUEUES;

ID      NAME
------- ----------
14      NAGIOS
1       DEFAULT
13      OTHER
12      APP
11      ANALYST
0       NONQUEUED

这怎么能在WX2中实现呢?

注意事项:我并不是要对I进行简单的更新,因为这是WX2引擎的配置元数据表。这有点复杂。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-29 15:38:05

我认为没有一种方法可以指定IPE_ALL_QUEUES中使用的in,但是使用SMALLINT而不是INT不应该有任何好处。

如果在其他地方存储了大量对此表的引用,则可以看到这些引用是SMALLINT类型的引用(在减少存储需求方面,特别是如果引用位于基于RAM的对象中)。

如果是这样的话,您可以添加一个间接层,它将SMALLINT (例如14)映射到所需的INT (例如100004) --间接表将被复制并且非常小,而且除了IPE_ALL_QUEUES和您的大型表与SMALLINT的连接成本之外,在性能和内存使用方面都可以忽略不计。

代码语言:javascript
复制
CREATE TABLE largeref(qref SMALLINT, ...);
CREATE TABLE reflookup(qref SMALLINT, queue_id INT);
-- populate lookup with entries like (14, 100004)
-- populate largeref with SMALLINT references
-- replicate reflookup

SELECT Q.NAME, ...
FROM ipe_allqueues q, reflookup r, largeref l
WHERE q.id = r.queue_id
AND r.qref = l.qref
AND <other predicates on e.g. largeref>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32264800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档