首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql查询速度问题是正常的。

sql查询速度问题是正常的。
EN

Stack Overflow用户
提问于 2012-04-18 05:47:35
回答 1查看 82关注 0票数 1

net mvc 2应用程序,具有sql服务器快速数据库。

我的应用程序用于评估围栏安装项目。用户在输出xml文件的flash绘图中绘制所有围栏项。

使用这些数据,用户可以将项添加到他们创建的图像中的每个元素中。基本上,他们画任何类型的配置使用柱子,栅栏和门项目。

在添加绘图元素之后。每个元素都有一个“项目价格”。

可以添加到每个柱子、栅栏或门上的项目类型如下:

代码语言:javascript
复制
- Labor
- Material
- Equipment 
- Subcontracts

每个人都有一个计算价格的公式。每个项目的最终价格来自于应用程序预算中添加的定价值。这是一个如何计算每一个的例子。

代码语言:javascript
复制
Labour1 = qty(user enters this) * unit cost * profit (comes from budget)

unit cost = hour rate(from budget) - discount % (user enters it) * labor burden %(user enters it) * Shipping %(User enters it) * Tax (comes from main application tax setup)
* overhead markup % ( from budget) * profit (from budget) = item price 

这是计算1人工的公式。其他要素,如材料、设备和分包合同的公式非常相似。

所以估计会是这样的:

在这个例子中,我画了一道栅栏,中间有一扇门。从此图表创建的数据如下所示:

代码语言:javascript
复制
Fence = F1 
Gate= G1
Post= P1
Post = P2
Post = P3
Post = P4

为了找到这项工作的最终价格(小计),我添加了所有的栅栏,大门和最后的价格。

代码语言:javascript
复制
**Fence F1**

Material = $120
Material 2= 115
Labor 1= $134
Labor 2= $100
Equipment 1= $100
Equipment 2 = $150
Subcontract 1 = $120
Subcontract 2 = $100

**TOTAL FENCE ITEMS= $939**

门G1

代码语言:javascript
复制
Mat 1= $100
Labor 1= $200
Equip 1= $400
Subcontract 1= $250

**TOTAL GATES= $950**

然后下一篇文章每个都有以下元素

代码语言:javascript
复制
**P1, P2 P3 P4**

Material 1 = 250 (x4)
equipment 1= $250 (x4)
labor 1 = $100 (x4)
subcontract 1= $200 (x4)

**Total POSTS = $3200**

Total Estimate Price = 939 + 950 +3200 = $5,089

任何估计数都可以有一个以上的栅栏门或柱子。但基本上,对于任何栅栏门或柱子,你可以添加尽可能多的材料,设备,劳动力和分包合同。

前面的例子只是一个典型的例子,但其他一些估计可以包括多达30或40个项目的总数。

我有一个jqgrid,它加载了客户信息和其他通用列,最后一栏是Price:

现在,如果我有大约50个类似于上面的例子的估计,我的网格需要大约45秒的时间来加载。

每年将有超过500个估计数显示在这个网格中。

因此,在这个数字下,一次用500加载这个网格需要超过5分钟。

根据这些信息,你能告诉我现在是否是处理这些数据的正常时间吗?

如果你需要任何其他细节给我建议,请告诉我。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-04-18 07:53:41

基于这个信息的

,你能告诉我现在是否是处理这些数据的正常时间吗?

如果没有您的代码、环境、数据库大小等更多的细节,这是不可能的。

然而,对我来说,这似乎是一段很长的时间。

您需要启动 problem ,以找出造成问题的部分。是数据库,还是数据的处理,是网格的创建,还是全部。

因此,分解整个过程并检查是什么导致了延迟。

现在,如果是数据库:配置文件,则将sql发送到数据库。也许您可以创建更高效的查询(将所有数据一步一步地加载,而不是一个接一个地加载,也许您需要查看索引?也许您的数据库对于server来说太大了(它有内存限制,并且将只使用一个核心,不管物理服务器有多大)。

既然您提到linq,请密切关注延迟加载的数据所造成的n+1问题。在这种情况下,请阅读DbLoadOptions LoadWith

在找到导致问题的原因之前,您需要对代码执行类似的步骤。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10203525

复制
相关文章

相似问题

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