我之前问过一个问题“存储用户事件数据的正确技术”,我认为正确的答案是创建一个数据库分区。现在,从我读到的内容来看,有不同的分区方法,但是对于这个问题,我们将假设我们正在使用 RDBMS(例如 MySQL)上的日期字段进行水平键分区...(如果您有异议或对此的争论,无论如何都做出贡献)。
基本问题是您如何知道要创建多少个分区?
我知道这是一个相当悬而未决的问题,因为它也将严重依赖于您运行它的硬件,但无论哪种方式,都应该有一些指导方针可以指出更好的性能在哪里,或者这样做的正确方法,甚至你会如何判断这样的事情?我发现的大多数文档都使用诸如“大”、“大”、“很多”之类的术语……这些术语在访问速度、行数、效率与存储或所需硬件方面的含义是什么。是不是从反复试验或观察到的性能开始,如果事情开始变得有点粗糙,您只需添加一两个分区?
我对大型数据库方案中这个看似常见的障碍的意见和矛盾非常感兴趣。
谢谢
database-design database-recommendation database-tuning partitioning
我正在清理 mysql 数据库中 (innodb) 表中的重复索引。该数据库有大约 50 个表。
虽然我可以使用 pt-duplicate-key-checker 检查重复键,但我想知道是否有一种工具可以帮助我从所有表中找出最近最少使用的索引。
例如。, 如果表 "A" 定义了三个索引 "index_1"、"index_2" 和 "index_3",并且其中 "index_3" 的使用频率最低,假设它每 1/10000 次对表进行的查询使用一次,则输出脚本或工具的名称应为“index_3”。
有没有好的方法或工具可以帮助我在数据库上运行此分析?
提前致谢。
正如我的主题所暗示的那样,我想知道创建视图是否会在空间、存储、性能方面对数据库造成开销?
我有一个在生产系统上运行的 SQL Server 2008 R2 实例。我不是 DBA;我更像是一名开发人员,但我的客户目前问我:将内存从 SQL Server 释放回服务器有多重要?如果我们将内存释放回操作系统,是否会影响对实例的后续查询的性能?
之间有什么区别
SHOW /*!50000 GLOBAL */ STATUS
Run Code Online (Sandbox Code Playgroud)
和
SHOW GLOBAL STATUS
Run Code Online (Sandbox Code Playgroud)
我看到在一些脚本和调整演示中使用了第一个命令。有区别吗,如果有,50000 是什么意思?
此外,这似乎是一个很好的脚本:https : //raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl 是否有任何类似的脚本列出重要的统计数据和显示建议
负责监视和调整 SQL Servers 2012 Enterprise Ed。Windows Server 2008 R2 Standard Ed 上的 SP1(64 位)。
所有这些都在虚拟机中运行。单个 RAID10 或 RAID5 上的每个区域办事处一个 SQL Server。换句话说,我无法使用不同的物理单元(硬盘驱动器)配置 SQL Server。
我观察到tempdb系统数据库上的读取和写入延迟升高。
在减少tempdb数据库延迟方面,我有哪些选择?
sql-server optimization database-tuning configuration tempdb
我有一个使用过多 CPU 的 MySQL 数据库。我实际上正在对查询数据库的 Web 服务器执行基准测试。现在数据库是瓶颈,它使用了太多的 CPU。VM 有 5 个 vCPU 和 4GB 内存。
我可以做任何更改以减少 CPU 使用量吗?并提高性能?
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
# …Run Code Online (Sandbox Code Playgroud) 我们的主数据库大小为 15GB。服务器有 16GB RAM。我们使用简单的恢复模型。
最近,我们注意到我们的自定义应用程序查找(只是使用即席 SQL 语句进行基本读取)速度明显减慢。大多数情况下会多几秒钟。
我不是 SQL Server 管理员,并且不知道接下来该去哪里。
我们监控了CPU,它似乎从未达到峰值。与 RAM 相同。我们有大量的索引,但我认为这只是写入速度的问题......
对我下一步可以看什么有什么建议吗?
我已经厌倦了向我们研发团队中的每个初级开发人员解释为什么他应该使用主键以及如何使用。所以我决定写一个小白皮书,每个新开发人员都应该阅读。这是它的草稿。
免责声明:
问题是- 我还应该在文档中添加什么?可能是——我应该改些什么呢?更详细的解释是什么?
草稿来了:
此外,即使使用具有(我希望)扁平分布的 SSN 或 ID Number,因为 PK 也不能解决 PK 的页面拆分问题,因为这些数字没有任何组织顺序。
我希望这是问这个问题的正确地方。我是 StackOverflow 的用户,当我仔细阅读 StackExchange 网站时,这是我能找到的最佳匹配。所以,如果我发错了地方,请告诉我,我会移动帖子。
我和一群人一起工作,我们正在创建一家初创投资公司。我是小组中的“技术人员”(我可以构建个人电脑和程序),所以我需要弄清楚我们的数据库服务器需要什么。
我主要感兴趣的是在哪里花更多的钱,而额外的力量在哪里用处不大。
例如,当谈到驱动器设置时,我想到了以下几点:
OS/SQL Server 应用程序卷将是使用主板的软件 RAID;其余的 RAID 阵列将由专用 RAID 卡控制。
从我在网上阅读的内容来看,上述设置可能会给我带来出色的性能和稳定性。
现在,当涉及到其他组件时,什么是必要的?
database-tuning ×10
sql-server ×5
mysql ×3
performance ×2
hardware ×1
index ×1
innodb ×1
memory ×1
mysql-5.5 ×1
optimization ×1
oracle ×1
partitioning ×1
tempdb ×1