我已经在一个网络项目(asp.net)工作了大约六个月.最终产品即将投入使用.该项目使用SQL Server作为数据库.我们已经做了性能测试与一些大容量的数据,结果表明,当数据过大,性能会下降,如2万行(超时问题,延迟反应变量等).起初我们使用完全normailized数据库,但现在我们把它归部分由于性能问题(以减少联接).首先,这是正确的决定吗?另外,当数据量变得非常大时,可能的解决方案是什么?客户未来会增加多少?
我想进一步补充:
database sql-server performance database-design query-optimization
我创建了1个包含2个文件组的数据库:1个主要索引和1个索引.
大多数索引都是非聚集索引
使用数据库一小段时间后,数据文件为2GB,但索引文件为12 GB.我不知道我的数据库中发生了什么问题.
我有一些问题:
我已经构建了一个这样的T-SQL查询:
DECLARE @search nvarchar(1000) = 'FORMSOF(INFLECTIONAL,hills) AND FORMSOF(INFLECTIONAL,print) AND FORMSOF(INFLECTIONAL,emergency)'
SELECT * FROM Tickets
WHERE ID IN (
-- unioned subqueries using CONTAINSTABLE
...
)
Run Code Online (Sandbox Code Playgroud)
此搜索的GUI将是一个带有单个文本框的aspx页面,用户可以在其中进行搜索.
我计划以某种方式构建搜索词,就像上面的例子(@search).
不过我有些担忧:
我正在将EntityFramework 4与POCO类一起使用,但我喜欢将数据库划分为单独的模式.虽然我可以先设计数据库,然后生成模型,一切正常,如果我更新模型并选择从模型生成数据库,它会忽略我的所有模式并生成默认情况下的所有表(或者我在下面设置的任何表)数据库架构名称).
是否可以将实体分开并让模型中的generate数据库使用这些模式?
非常感谢任何帮助.我花了几个小时在谷歌上进行实验,我觉得这不可能,但我想我会检查一下.
我正在为一家运行基于MS SQL数据库服务器的软件产品的公司工作,多年来我用PHP开发了20-30个非常先进的报告,直接从数据库中获取数据.这非常成功,人们对此很满意.
但它有一些缺点:
我正在考虑逐步采用基于OLAP的方法,可以从Excel或某些基于Web的服务查询.但我想以一种在IT环境中引入最少量新复杂性的方式来实现这一点 - 最少量的不同服务,同步工作等!
我在这方面有一些问题:
1)与工作流程相关:
2)ETL:
3)发展:
我对任何涵盖其中一部分的答案感到满意 - 即使它是一个MS环境,我也很想知道其他技术的优势.
一个性能如何调优SQL查询?
可以使用哪些技巧/工具/概念来更改SQL查询的性能?
绩效如何量化?
需要注意什么?
主持人请注意:
这是一个很大的问题,我应该把它分成多个问题吗?
对响应者的注意: 因为这是一个很大的问题,请参考其他问题/答案/文章,而不是写冗长的解释.
这感觉应该有一个基本的解决方案,但我似乎没有得到它.
拿这个查询:
SELECT Category FROM Article
GROUP BY Category
Run Code Online (Sandbox Code Playgroud)
我想有效地做到这一点:
SELECT Category, DatePublished FROM Article
GROUP BY Category
ORDER BY DatePublished DESC
Run Code Online (Sandbox Code Playgroud)
我真的不想选择DatePublished,但它似乎有意义.但这不起作用.
基本上我想通过最新的DatePublished文章订购类别.
我看了一下网站和谷歌,但我似乎无法找到一个很好的解决方案,我正在尝试做什么.
基本上,我有一个客户端服务器应用程序(C#),我向服务器发送一个SQL select语句(连接到SQL Server 2008),并希望以CSV方式将结果返回给客户端.
到目前为止,我有以下内容:
if (sqlDataReader.HasRows)
{
while(sqlDataReader.Read())
{
//not really sure what to put here and if the while should be there!
}
Run Code Online (Sandbox Code Playgroud)
}
不幸的是,我真的很想将C#与SQL连接起来.我需要有关如何简单地将结果放在csv格式的字符串中的任何提示.列和字段可能会有所不同,所以我不能像在一些网站上看到的那样使用某种东西的方法.我不确定我是否可以理解了!
我非常感谢有关如何解决这个问题的任何提示/要点!
我将构建一个内部的,偶尔连接的应用程序(OCA).你建议我采用什么技术?
这是我的参数:
我正在寻找有关选择路径的具体建议.合并复制或Sync Framework数据库同步提供程序?订阅服务器上的SQL Express或SQL CE?我可以为DAL使用LINQ to SQL吗?
是Silverlight'离线/退出浏览器应用' 示例在这里,可行吗?
这是我的第一个LARGE商业应用程序,因此欢迎任何经验丰富的评论.
根据要求,这里有一些关于数据类型的附加信息.我的用户是护士和社会工作者,他们去会员家中为他们创建"计划"或"健康评估评论".这些是药物清单或当前"提供者"列表.实现成员目标的步骤或当前/过去诊断的列表.像这样的东西.
还有典型的会员姓名,地址,电话号码等.这主要是一个便于报告的数据存储和检索应用程序.很少"处理"发生,护士和社会工作者在指定成员的团队中工作,所以我通常几乎没有交叉或潜在的数据冲突.护士和SW也负责MCP的不同领域(会员中心计划)
附加问题; 如果我可以使用SQL 2008,Sync Framework真的只是一个可行的选择吗?似乎是由于变化跟踪等等......思想?
只是想找出为以下场景设计表的最佳方法:
我的系统中有几个区域(文档,项目,组和客户端),每个区域都可以记录注释.
我的问题是我应该有这样一个表:
CommentID
DocumentID
ProjectID
GroupID
ClientID
etc
Run Code Online (Sandbox Code Playgroud)
只有一个id会有数据,其余的将是NULL,或者我应该有一个单独的CommentType表,并且我的注释表如下:
CommentID
CommentTypeID
ResourceID (this being the id of the project/doc/client)
etc
Run Code Online (Sandbox Code Playgroud)
我的想法是,从索引的角度来看,选项2会更有效.它是否正确?
sql-server ×8
sql ×7
c# ×4
.net ×2
performance ×2
database ×1
olap ×1
replication ×1
resultset ×1
schema ×1
ssis ×1