首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高数据库模式创建的性能?

如何提高数据库模式创建的性能?
EN

Stack Overflow用户
提问于 2014-04-15 12:56:49
回答 2查看 1.1K关注 0票数 2

对于我们的测试环境,我需要设置并多次删除数据库(每个测试都应该独立于任何其他测试)。

这一进程如下:

  • 创建数据库模式并插入必要的数据
  • 运行测试1
  • 删除数据库中的所有表
  • 创建数据库模式并插入必要的数据
  • 运行测试2
  • 删除数据库中的所有表
  • ..。

对于测试用例中的每个测试,模式和数据是相同的。

基本上,这是可行的。最大的问题是,创建和清除数据库需要很长时间。是否有可能提高mysql在创建表和插入数据方面的性能?或者你能想出一个不同的测试过程吗?

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2014-04-15 13:10:36

优化逻辑设计

逻辑级别是关于查询的结构和表本身。先试着最大限度地利用这个。目标是在逻辑级别访问尽可能少的数据。

  • 具有最有效的SQL查询。
  • 设计一个支持应用程序需求的逻辑模式(例如,列的类型等)。
  • 设计折衷以支持某些用例比其他的更好。
  • 关系约束
  • 归一化

优化物理设计

物理层处理非逻辑的考虑,如索引的类型、表的参数等,目标是优化IO,而IO始终是瓶颈。调整每个表以满足它的需要。小型表可以永久加载到DBMS缓存中,低写入率的表可以具有与高更新速率的表不同的设置,占用较少的磁盘空间等。根据查询的不同,可以使用不同的索引等。您可以用物化视图透明地取消规范化数据等。

  • 表表参数(分配大小等)
  • 索引(合并、类型等)
  • 系统范围内的参数(缓存大小等)
  • 分区
  • 去正规化

首先尝试改进逻辑设计,然后改进物理设计。(两者之间的界限是模糊的,所以我们可以争论我的分类)。

优化维护

数据库必须正确操作,以保持尽可能高的效率。这包括几个可能会影响perofrmance的维护措施。

  • 保持最新的统计数据
  • 定期对关键表进行重新排序
  • 磁盘维护
  • 所有的系统都需要有一个服务器

来源:How to increase the performance of a Database?

票数 0
EN

Stack Overflow用户

发布于 2014-04-15 13:15:08

我建议您可以使用shell、perl或python(init_db)将所有需要的操作写入脚本中。首先,您可以手动创建、插入和删除,然后转储架构和数据。可以选择bulk insert和drop来删除数据,以提高总体性能。希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23084430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档