0

我有一个包含大约 500 万行的巨大数据库表。现在在某些情况下检索记录会使服务器变慢。随着时间的推移,我现在如何管理桌子。

我正在考虑每年进行一些归档技术,例如每年将完整的表格分解为许多小表格,但这使我在编码方面付出了很多改变。我必须更改从数据库查询的完整结构。因此,很可能在项目中的大多数地方都发生了变化。

我还能做些什么来减少从数据库表中获取记录的时间?我可以采用其他任何技术来避免代码中的许多更改吗?

提前致谢

4

2 回答 2

2

您可以在 MySQL中轻松地对表进行水平分区。PARITION BY RANGE

此外,如果表中有许多列,则可以通过垂直分区方法将该表分成两个或多个表。

还可以添加适当的索引,最好是集群或覆盖表上的索引,并使用EXPLAIN测试查询的性能。

于 2012-08-03T10:46:57.490 回答
1

在这种情况下,表分区可能会有所帮助。以下提供信息:

http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html

https://dba.stackexchange.com/questions/19313/partitioning-a-table-will-boost-the-performance

于 2012-08-03T10:45:11.013 回答