sql-server – 如何优化一个表仅用于快速插入?

我有一个日志表,将从几个网络应用程序接收插入.我不会做任何搜索/排序/查询这些数据.我将把数据拉出到另一个数据库来运行报告.初始表格严格用于接收日志消息.

有没有办法确保Web应用程序不必等待这些插入?例如,我知道添加很多索引会减慢插入,所以我不会.那里还有什么?我不应该添加主键吗? (每个晚上,表将被抽到一个报表数据库,这将有很多的键/索引)

解决方法

如果性能是关键,则可能不想将此数据写入数据库.我认为大多数事情都将处理一个数据库写作作为一个往返,但听起来你不想等待返回的确认消息.检查是否像S.Lott所说,只要在一个简单的文本文件中附加一行即可.

如果数据库写入速度更快(或者由于安全性或其他业务/操作原因而需要),那么我将不会在表上放置任何索引,而且包含一个主键.如果它不会用于读取或更新,并且如果不需要关系完整性,那么您不需要在此表上使用PK.

推荐明显:作为夜间报告的一部分,清除表中的内容.另外,不要重置数据库文件大小(ye olde shrink database命令);经过一周以上的定期使用,数据库文件应该与他们需要的一样大,您不必担心文件增长性能受到打击.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...