我很难理解表分区的优缺点。我即将开始一个项目,该项目将有 8 个表,其中一个将是主数据表,将保存 180-2.6 亿条记录。因为它将是正确索引的表,所以我正在考虑将表记录限制为 2000 万,这样我就必须创建 9-13 个表。
但是我不太确定它将如何提高性能,因为它们将位于同一台机器上(32GB RAM)?
我正在使用 MySQL,表将是 MyISAM,大表将在 id 字段上有索引,并且没有像全文搜索等进一步的复杂性。
还请阐明表分区与数据库分区。
我很难理解表分区的优缺点。我即将开始一个项目,该项目将有 8 个表,其中一个将是主数据表,将保存 180-2.6 亿条记录。因为它将是正确索引的表,所以我正在考虑将表记录限制为 2000 万,这样我就必须创建 9-13 个表。
但是我不太确定它将如何提高性能,因为它们将位于同一台机器上(32GB RAM)?
我正在使用 MySQL,表将是 MyISAM,大表将在 id 字段上有索引,并且没有像全文搜索等进一步的复杂性。
还请阐明表分区与数据库分区。
介绍 我从我之前的问题单驱动器与多驱动器中得出这个问题
在从一位非常有帮助的成员RolandoMySQLDBA那里得到非常详细的答案并了解到多驱动器在某些情况下可以提供很大帮助的事实之后。我开始为我的设置研究多驱动器,这与我发现的相比只是一点点。
更多信息 我发现了相当大的存储空间,比如
http://www.newegg.com/Product/Product.aspx?Item=N82E16811152212
虽然有些视频显示了此类设备的写入速度甚至达到 GB
真正的问题 如果有足够的 RAM 来保存索引,MySQL 或其他开源 RDBMS(不是像 Oracle 这样的企业级 RDBMS,因为它在 SAN 上运行很常见)可以轻松地在这些野兽上运行吗?
因为它们包含真正的多驱动器设置,并且有数十个磁头可用。
我相信它不会那么简单,因为如果它那么简单,那么为什么大多数企业设置都使用商用服务器。那么,使用这些极端存储解决方案会面临哪些问题呢?
由于 RAM 的限制,是否可以使 InnoDB 使用与 MyISAM 相同的索引而不是聚集索引,同时获得其并发性能的好处?
最近我一直在寻求优化我的数据库,它的大小是 7GB。我可以选择对大表进行分区。但是分区只是将大表分成小表,同时保留在同一台机器上,因此可以使用相同的资源。
您认为同一台机器上的分区表会对性能产生任何积极影响吗?
我的another question可能也有相关资料hash indexes什么时候变得合理?
RAM 的重要性是一个既定事实,但在谈到 MySQL 对 CPU 的使用时,关于内核和多线程的重要性的资料却少得多。我说的是在 4 核、6 核和 8 核上运行 MySQL 的区别等等。
不同的存储引擎使用 CPU 的方式不同吗?
几天前,我有一个包含 7GB 数据的表,它在 phpMyAdmin 中显示了 63MB 的开销,我错误地开始了它的优化,在工作了 40 多分钟后,它损坏了整个表。
避免表崩溃的安全做法是什么?
MySQL 本身不支持哈希索引。因此,制作一个伪散列列并在散列列上创建索引需要一些思考。
而且似乎被广泛理解的是,如果文本字段很长,那么哈希值就值得他们需要的开销。但是文本应该多长时间才能开始考虑哈希?
如果我打算使用 128 位散列,那么对于文本列来说,多少个字符阈值才是足够的最小值?
我的另一个问题中列出的编辑详细信息可能有用https://stackoverflow.com/questions/7403167/index-on-url-or-hashing-considering-ram
我知道这个问题可以使用列上的唯一键约束和一些插入命令变体来解决。
但我到底想知道为什么下面的方法有时会出错并添加重复条目:
大多数时候它都有效。可以说98%以上,但为什么有时会失败呢?
我只想了解这种方法的故障在哪里,因为首先检查记录是否存在。