Sql server 如何仅为快速插入优化表?
我有一个日志表,它将接收来自多个web应用程序的插入。我不会对这些数据进行任何搜索/排序/查询。我将把数据拉到另一个数据库来运行报告。初始表严格用于接收日志消息Sql server 如何仅为快速插入优化表?,sql-server,sql-server-2005,architecture,Sql Server,Sql Server 2005,Architecture,我有一个日志表,它将接收来自多个web应用程序的插入。我不会对这些数据进行任何搜索/排序/查询。我将把数据拉到另一个数据库来运行报告。初始表严格用于接收日志消息 有没有办法确保web应用程序不必等待这些插入?例如,我知道添加大量索引会降低插入速度,所以我不会这样做。还有什么?我不应该添加主键吗?(每天晚上,表格都会被压缩到一个reports DB,其中会有很多键/索引)这里有一些想法,请注意,对于最后一个非常重要的想法,您将拥有非常高的容量: 没有主键,它是通过索引强制执行的 没有任何其他索引
有没有办法确保web应用程序不必等待这些插入?例如,我知道添加大量索引会降低插入速度,所以我不会这样做。还有什么?我不应该添加主键吗?(每天晚上,表格都会被压缩到一个reports DB,其中会有很多键/索引)这里有一些想法,请注意,对于最后一个非常重要的想法,您将拥有非常高的容量:
- 没有主键,它是通过索引强制执行的
- 没有任何其他索引
- 创建足够大的数据库,使数据库不会增长
- 将数据库放在自己的磁盘上以避免争用
- 避免软件RAID
- 将数据库放在镜像磁盘上,保存在RAID 5上完成的计算
但大多数情况下,表中没有键/验证(PK和唯一索引会让你丧命)为什么要使用SQL?为什么不简单地写入文件以加载到报表数据库中呢?老实说,我从来没有想过使用常规日志文件,我将对此进行研究。在一个全天候的互联网世界中,不再存在白天与黑夜的概念。如何将“旧”信息移出(但仍保留在数据库中)?不断地每X分钟?有什么想法吗?