问题标签 [database-performance]

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 投票
3 回答
4610 浏览

database-performance - 选择性地从 Sybase 表中删除大量数据

为此使用 Sybase ASE 15 - 我有大约大量的行(最多 10 百万)要定期从表中删除,但我想将最新添加的数据选择保留到表中,以便规则直接在表上使用截断。

使用上面的删除非常慢,所以我的策略是将要保留的数据移动到临时表中,截断主表并将数据再次从临时表中移回,即

这几乎已经足够了 - 1 和 2 有很好的性能,但是插入到主控中太慢了。

所以我的问题真的归结为是否有一种快速的方法来做:

或者我对替代方法持开放态度!

0 投票
6 回答
2497 浏览

database - 什么对数据库来说太大了?

我有一个伙伴运行一个网络应用程序,供人们列出待售汽车。有几千个客户在使用它,每个客户在数据库中都有数百甚至数千行(有些已经使用了 5 年,每月销售数百辆汽车,每次销售有 10 行(评论、消息、 ETC))。他一直在一台具有 20GB 或 RAM 和几个处理器的物理服务器中的一个 SQL Server 数据库中运行这个系统,没有任何问题。这是某种奇迹吗?

就像大多数程序员一样,我不是 DBA,只能靠 ORM 等方式勉强度日。在我所见的任何地方,人们都在谈论需要为 Web 应用程序的大用户分片或获得单独的数据库服务器。为什么是这样?拥有一个包含很多或行的大型数据库真的那么低效吗?我应该计划使用 Cassandra 还是其他东西,或者我可以依靠 Postgres 很好地扩展?

0 投票
4 回答
135 浏览

database-design - 数据库设计 - 关于效率(和一般设计质量)的问题

我怕我不知道自己在做什么。

1:

我有一个名为的表ticket,其中有一列名为total. 当总数更新时,我想保留它的记录(旧总数等),所以我决定删除该total列并创建一个名为ticket_total列的表ticket_id,,totaldatetime(最近的当然是“当前”总数) .

或者

2:

然后我意识到我以后希望让我的客户能够按 排序票证total,或提取汇总总计的报告等。因此,我决定将total列放回ticket,并在总计时直接更改total列已更新,但首先创建ticket_total一行作为前一个的记录total

似乎版本 2 会非常高效,因为我不需要查询相关ticket_total表,但我想知道你们那里的数据库专家是怎么想的。我只是在学习数据库设计,担心我永远不会擅长它。

0 投票
1 回答
2180 浏览

asp.net - 以编程方式绑定 Vs。性能对象数据源

我在我的页面上使用了bind allGridViews等(除非不可能这样做)。最近,我开始以编程方式绑定我的所有控件。我发现这更清洁、更容易,尽管有些人可能不同意。DetailViewsObjectDataSource

与 a 绑定ObjectDataSource显然有其优点和缺点,以编程方式进行绑定也是如此。

假设我以编程方式绑定 GridView(例如GridView1.DataSource = SomeList),当我在 GridView 上更改页面时,我还必须对此进行编码。每次页面更改时,我都必须GridView1.DataSource = SomeList再次调用。显然,ObjectDataSource我不需要这样做。我通常将我的SomeList对象粘贴到 ViewState 中,因此当我更改页面时,我不需要每次都访问数据库。

我的问题是:ObjectDataSource 是这样工作的吗?它是否将其数据存储在 ViewState 中并且除非您调用该.Select方法,否则不会再次访问数据库?我喜欢尝试从我的应用程序中获得最佳性能,并尽可能少地访问数据库,但我不太喜欢在 ViewState 中存储大量列表的想法。有没有更好的方法来做到这一点?每个用户缓存是一个好主意(或可能)吗?我是否应该每次都访问数据库而不是将庞大的列表存储在 ViewState 中?有时访问数据库比使用 ViewState 更好吗?

0 投票
2 回答
5254 浏览

database - 从 SQLite 中的固定宽度列读取是否更快?

从没有存储 varchar 或其他可变长度数据的表中读取通常会更快吗?在 MySQL 中,这更快,因为它可以准确计算行将存储在磁盘上的位置。

0 投票
3 回答
24858 浏览

mysql - 一个服务器每秒可以处理多少个 MySql 查询?

我已经开始开发浏览器(数据库)游戏。我的问题是常规托管可以处理多少查询(当我的意思是常规时,我的意思是您可以找到大约 7 美元/月的共享托管)。至于查询,没有什么复杂的(简单的 SELECT 和 WHERE 操作)。

所以... ?10?100 ? 10000?

0 投票
1 回答
1183 浏览

database - 在 PostgreSQL 中使用游标进行更新的性能

我想知道使用以下方法更新表的性能差异:

或像这样:

有没有人测试过这个或者知道使用游标的更新是如何工作的,所以他们可以对此发表评论?

编辑:我现在对此进行了基准测试,发现执行最新示例实际上快了三分之一左右。我对每个查询运行了 100000 次并计算了差异。我使用 psycopg2 使用服务器端游标与 Postgres 通信。我将进一步调查,看看我是否可以发现情况并非总是如此。

0 投票
1 回答
1651 浏览

database - Postgres:使用游标更新的惊人性能

考虑以下两个 Python 代码示例,它们实现了相同但具有显着且令人惊讶的性能差异。

和:

表测试的创建语句是:

该表包含 100000 行和 VACUUM ANALYZE TEST;已运行。

经过几次尝试,我始终得到以下结果。

第一个代码示例:

第二个代码示例:

这对我来说非常令人惊讶,因为我认为应该完全相反,这意味着根据这个答案,使用游标的更新应该明显更快。

0 投票
2 回答
1069 浏览

database - 测试数据仓库性能的最佳方法?

我有一个基于 Postgresql 的数据仓库。

直到现在,我一直在尝试在一个只包含我真实数据库的一小部分的数据库上运行查询。一旦我以一种使它们对这个小型测试数据库有效的方式编写了查询,我就会在真实的数据库上运行查询。

问题是,一旦我在真实数据库上运行查询,真实数据库就会耗尽内存并开始将索引和临时表等内容写入磁盘。这意味着对于测试数据库和真实数据库,不同的查询可能是最佳的。这是否意味着我真的必须运行需要几分钟才能完成的查询才能知道哪个查询是最佳查询。

0 投票
3 回答
3799 浏览

database - PostgreSQL:为什么这个简单的查询不使用索引?

我有一个带有列 c 的表 t,它是一个 int 并且上面有一个 btree 索引。

为什么以下查询不使用此索引?

我得到的结果是:

我对索引的理解是有限的,但我认为这样的查询是索引的目的。