gDatabase优化:需要一个非常大的数据库来测试sql server的一些功能

时间:2010-03-23 02:19:45

标签: sql sql-server sql-server-2005

我已经为最大3GB大小的dbs完成了数据库优化。需要一个非常大的数据库来测试优化。

4 个答案:

答案 0 :(得分:3)

简单地生成大量数据并将其放入表中证明了DBMS,数据库本身,针对它发出的查询或与它们交互的应用程序,所有这些都影响到数据库的性能 - 依赖系统。

短语“我已经为[数据库]进行了高达3 GB的数据库优化”,这一点非常值得怀疑。什么数据库?在什么平台上?用什么硬件?出于什么目的?什么规模?模特是什么?你在优化什么?你的预算是多少?

这些相同的问题适用于任何数据库,无论大小如何。我可以直接告诉你,“优化”250 GB数据库与优化25 GB数据库不同,这肯定与优化3 GB数据库不同。但这不仅仅是因为数据库 size ,而是因为包含250 GB数据的数据库总是处理与3 GB数据库所解决的要求大不相同的要求。

您需要更改优化策略没有神奇的尺寸障碍;每次优化都需要深入了解特定数据模型及其使用要求。也许你只需要添加几个索引。也许您需要删除一些索引。也许您需要规范化, denormalize ,重写几个错误的查询,更改锁定语义,创建数据仓库,在应用程序层实现缓存,或者查看可用于您的各种垂直扩展特定的数据库平台。

我认为你是在浪费时间尝试创建一个“非常大”的数据库,以便在没有特定要求的情况下尝试“优化”它。当您需要生成符合特定模式的数据时,可以使用各种数据生成工具来针对特定的方案进行测试,但是直到您掌握了这些信息,对于一个装满无组织测试数据的数据库,我们不会做很多事情。

答案 1 :(得分:1)

执行此操作的最佳方法是创建架构并编写脚本以使用大量随机(ish)虚拟数据填充它。随机,意味着您的文本字段不一定有意义。 'ish',意味着数据分布和模式通常应该反映您的真实数据库使用情况。

编辑:快速Google search会显示许多商业工具,如果您不想编写自己的填充脚本,可以为您执行此操作:DB Data GeneratorDTM Data Generator。免责声明:我从未使用其中任何一种,也无法真正说出它们的质量或用途。

答案 2 :(得分:0)

这是我写的一个免费程序,用于生成随机人名。快速而肮脏,但它起作用并可能有所帮助。

http://www.joebooth-consulting.com/products/genRandNames.sql

答案 3 :(得分:0)

我定期使用Red-Gate's Data Generator来测试实际系统上的问题和负载,并且它运行良好。也就是说,我同意Aaronnaught的观点,即数据库的整体规模并不像使用模式和商业模式那么重要。例如,在最终没有流量的表上生成10 GB的数据将无法提供对优化的任何了解。目标是复制预期发生的预期事务和存储负载,以便在它们发生之前识别瓶颈。