假设,我拥有一家运行SQL Server的公司。服务器上的数据库(DB1)中存储了大量数据,客户在内部(出于报告目的)和外部都在查询这些数据,并且由于服务器流量而导致许多运行缓慢问题。我的问题是,(准确地)镜像DB1并将其命名为DB1b,以便内部报告可以查询DB1,而我的客户可以查询DB1b,这是一个错误还是一个好主意?谢谢。
答案 0 :(得分:1)
从理论上讲,您的公司将具有AlwaysOn配置,以防止停机和数据丢失,这些停机和数据丢失可以实时同步而基本没有延迟。
假设,执行只读操作的内部人员可以查询可用性组中的辅助节点,而正在执行读/写操作的应用程序/外部客户将连接到您的主节点。如果每个人都在读书而没有人在写作,那么您可以站起来其他辅助节点。或者只是花钱买更多的处理能力/ RAM /内核。
此外,假设地,您的查询可能是垃圾,无法进行优化。一旦对它们进行了覆盖索引调优,放入proc等中,这将减少等待/读取/等。
从理论上讲,这将减少流量。总体而言,这篇文章内容过于广泛,以至于在不了解更多信息的情况下无法真正回答。