问题标签 [indexed]

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 投票
2 回答
1223 浏览

sql-server - OLTP 中的索引视图?

我熟悉 SQL Server 索引视图(或 Oracle 物化视图),我们在 OLAP 应用程序中使用它们。它们具有非常酷的功能,即能够篡改执行计划并将其重新映射到索引视图而无需更改现有代码。

IE。假设我有一个非常昂贵的连接 SPROC。

SELECT [SOME COLUMNS]
FROM Table1 INNER JOIN Table2 [DETAILS]
INNER JOIN Table3 [BUNCH MORE JOINS] ...

如果我创建了一个包含类似结果集的索引视图,那么查询优化器很可能会将 SPROC 发送到我的索引视图,而不是基表,我会获得很大的性能提升。

现在说我想在OLTP 中使用索引视图!?我的意思是大多数 OLTP(比如这个站点)的阅读量相对较大,如果它们的连接成本很高,那么我们可以加快它们的速度并可能减少锁定争用(http://www.codinghorror.com/blog/archives/001166.html)。更好的是您不必更改任何代码,只需编写索引视图。

但这也意味着数据库变得更大,因为我们需要在索引视图中保留这些数据的副本......

有没有人使用过索引视图来解决 OLTP 中的争用或速度问题?我怎么从来没见过这个用的?

0 投票
8 回答
2054 浏览

sql - 重新索引大表 - 我怎么搞砸了?

我有一个 1 TB、600m 行的表,它错误地选择了索引列,特别是主键列上的聚集索引,它从未在选择查询中使用。

我想从这一行中删除聚集索引并在许多其他行上创建它。

表目前是这样的:

  • colA (PK, nvarchar(3)) [聚集索引 pt b]

  • colB (PK, bigint) [聚集索引 pt a]

  • colC (DateTime) [非聚集索引]

  • colD (Money) [非聚集索引]

  • colE(位)[无索引]

  • colF(位)[无索引]

  • colG (int) [无索引]

  • 更多非索引列

我想把它改成这样:

  • colA (PK, nvarchar(3)) [聚集索引 pt a]

  • colB (PK, bigint) [非聚集索引]

  • colC (DateTime) [非聚集索引]

  • colD (Money) [聚集索引 pt d]

  • colE (bit) [聚集索引 pt b]

  • colF (bit) [聚集索引 pt c]

  • colG (int) [聚集索引 pt e]

  • 更多非索引列

两个问题:1)您估计这种更改需要多长时间(消息末尾的服务器规范)。不幸的是,它是一个实时数据库,如果不知道它会停机多长时间,我就无法停机。

2) 将这么多列添加到聚集索引中是不是一个糟糕的主意?几乎从不执行更新。有许多插入和许多选择总是使用所有建议的索引行作为选择参数。

服务器规格:RAID 5 中的 5 个 15kRPM 驱动器,MS-SQL Sever 2005 和一些保持它们运行的​​位。

0 投票
1 回答
115 浏览

php - 如何索引一个数组?

我有一个多维数组,如下所示:

我将它存储为 JSON 'array',当我解码它时,我想通过它的编号来访问每个项目,所以我想要一个索引数组。

我怎么能在 PHP 中解决这个问题?

蒂姆

0 投票
4 回答
9878 浏览

grails - Grails 索引参数

我有一个具有属性的Team对象列表。Integer seed我想以单一形式一次编辑所有团队的种子。我确信Grails 支持索引参数,但我无法让它工作。

这就是我所拥有的,它有效,但我跳过了太多的箍,必须有更好的方法。

普惠制:

控制器:

那不是很可怕吗?噪音太大了。我该如何做一些事情:

也就是说,如何将名为team[0].seed, team[0].id, team[1].seed,team[1].id的参数映射到列表?

Stripes中,你可以只拥有一个List<Team>属性,它就可以工作。我对 Grails 的期望也不低!;-)

在此先感谢您的帮助。

0 投票
2 回答
2980 浏览

sql - SQL 索引视图:如果数据发生变化会发生什么

我不明白索引视图是什么,但我想知道当底层表中的数据发生变化时究竟会发生什么?整个视图缓存是否被丢弃或只是更改了行?

我对用于搜索酒店可用性(+100k 记录)的几个表(+5)进行了非常复杂的查询,恕我直言索引视图可以显着提高性能。但是数据(几行)经常更改(房间已售出,管理员 atc 中更改了免费房间),如果每次仅更改一行时都会重建视图,这将成为我的应用程序的瓶颈。

或者任何想法如何“缓存”非常复杂的查询?

谢谢你。

0 投票
2 回答
344 浏览

flash - Flash 浏览器应用 ActionScript:如何*有效*地从排序数组中提取对象子集?

我有一个浏览器部署的 Flash 应用程序(不是一个可以访问 SQLConnection 的 AIR 应用程序),它通过 HTTPService 从远程服务器获取 JSON 结果。

我需要有效地从返回的结果集中提取子集,一个对象数组。通过云到后端的多次调用是不行的。这一切都必须发生在客户端。

Flex ActionScript中是否有任何集合类可以通过对象都具有的共同属性之一对对象数组进行排序,例如Array sortOn方法,然后还提供二进制搜索方法可以从排序的对象中提取对象子集数组的版本,而不访问数组中的每个项目并进行比较

例如,如果我有一个对象数组并且每个对象都有一个zip属性和一个name属性,我希望能够从原始数组的副本中提取所有zip = 10015 的对象,其中副本已排序拉链

谢谢

0 投票
2 回答
9656 浏览

file - 如何检查文件是否已在 COBOL 中打开?

我正在尝试找到一种方法来检查文件是否已在 COBOL 中打开,以便在关闭时打开它,或者在打开时关闭它。

谢谢。

0 投票
1 回答
305 浏览

c# - 可以在 GDI+ 中实现颜色循环吗?

使用 WinForms 在 GDI+ 中是否可以“颜色循环”?我想在屏幕表面的调色板中修改一种或多种颜色,以便每当重新绘制表面时,GDI+ 将使用修改后的颜色。

我希望使用 GDI+ 的功能来使用索引颜色渲染表面,而不是逐个像素地手动执行转换。(8bpp 索引颜色?)

有没有(快速)方法可以做到这一点?

注意:我不想在整个应用程序 UI 中全局修改颜色。相反,我只需要在一个特定的控制表面上循环颜色。

0 投票
1 回答
2579 浏览

c++ - C++: need indexed set

I need an indexed associative container that operates as follows:

  • initially empty, size=0.

  • when I add a new element to it, it places it at index [size], very similar to a vector's push_back. It increments the size and returns the index of the newly added element.

  • if the element already exists, it returns the index where it occurs.

Set seems the ideal data structure for this but I don't see any thing like getting an index from a find operation. Find on a set returns an iterator to the element.

Will taking the difference with set.begin() be the correct thing to do in this situation?

0 投票
3 回答
17574 浏览

c# - 编辑 8bpp 索引位图

我正在尝试编辑 8bpp 的像素。由于此 PixelFormat 已编入索引,因此我知道它使用颜色表来映射像素值。尽管我可以通过将位图转换为 24bpp 来编辑位图,但 8bpp 的编辑速度要快得多(13 毫秒对 3 毫秒)。但是,在访问 8bpp 位图时更改每个值会导致一些随机 rgb 颜色,即使 PixelFormat 仍然是 8bpp。

我目前正在用c#开发,算法如下:

(C#)

1- 以 8bpp 加载原始位图

2-创建与原始大小相同的 8bpp 空临时位图

两个位图的 3-LockBits,并使用 P/Invoke 调用 c++ 方法,其中我传递每个 BitmapData 对象的 Scan0。(我使用了 C++ 方法,因为它在遍历位图的像素时提供了更好的性能)

(C++)

4- 根据一些参数创建一个 int[256] 调色板,并通过将原始像素值传递给调色板来编辑临时位图字节。

(C#)

5-解锁比特。

我的问题是如何在没有奇怪的 rgb 颜色的情况下编辑像素值,或者更好地编辑 8bpp 位图的颜色表?