当有超过100万条记录并且不断增长时,如何提高选择查询的性能

时间:2013-01-30 05:18:49

标签: mysql database select database-performance

我有一张表,每秒至少接收10个不同来源的数据。

我把我的表分成每月基数,每个月我创建一个表并将数据填充到表中。每张表至少保存100万条记录。

我有6个字段作为主键,索引7个字段。

我没有更改MySQL中的任何其他设置(Ubuntu附带的默认设置)。

表格上只会运行两个查询(插入和选择)

我看到数据库使我的应用程序变慢。

有没有办法提高查询的性能。

2 个答案:

答案 0 :(得分:0)

您可以尝试optimize your query using an Explain plan,包括index optimizingstatement optimizing,这可能会对执行速度产生重大影响。

答案 1 :(得分:0)

首先,在处理MySQL性能时,我们需要知道您使用的引擎。

其次,我们需要缩小可能的性能问题。我会说INSERT访问可能比使用SELECT有更大的问题。因为,实际上,即使SELECT查询速度较慢,如果查询本身很复杂,INSERT也经常发生,并且可能导致系统崩溃(或者最终导致系统速度变慢,这会降低SELECT的速度结果)。

所以,为了加快你的INSERT,我建议只保留你真正需要的索引(通常是SELECT WHERE子句中使用的列),这将是一个严重的改进。

至于SELECT本身的优化,如果不查看查询,很难再帮助你。