mysql - 对表中数百万条记录进行分区或索引?

标签 mysql performance indexing partitioning data-partitioning

我有一个包含 20 多百万条记录(一个月内将达到 60 多条)记录的表。现在我必须非常快地获取记录。

我正在使用 MyISAM 引擎,我不想在记录插入期间产生问题(听说索引会损害插入)。所以请告诉我索引和分区哪个更好。

我应该使用哪些其他因素(缓存或缓冲)。如果可能的话,请通过示例告诉我。

谢谢

最佳答案

索引与分区不是一个“哪个更好”的问题,因为它们旨在解决不同的问题。索引主要是一种性能功能,而分区主要是一种管理功能(以便更轻松地管理大型数据库)。

但是,存在重叠,因为分区也可以在某些用例中提高性能,但不是一般情况下,只是在某些情况下。糟糕的分区表也会损害性能——就像设计糟糕的索引一样。

如果您想要进一步帮助您的答案,您需要详细解释您的用例。

关于mysql - 对表中数百万条记录进行分区或索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20216257/

相关文章:

c++ - 与以优化的和定时的C++代码从函数中获取数据有关的莫名其妙的开销

C#:开关与工厂类中的方法重载

mysql搜索和索引性能

mysql - 选择在一个日期存在但在另一个日期不存在的记录?

mysql - SQL 查询太慢,甚至在 EXPLAIN 上出现 "Using Index"

sql - SQL View 中未使用字段的性能

MySQL Select with several join 首先对连接表进行全表扫描

java - 我应该如何在 MySQL 中使用 UTF-8?

php - 如何计算 PHP 中的 MySQL 数组值?

mysql - 是否可以在没有索引的情况下有效地搜索具有非递减值的列?