选择&在MySQL Innodb中更新查询速度非常慢

时间:2013-04-01 17:31:17

标签: mysql vb.net

我有1个表,有25亿条记录(2.5点)。我正在尝试根据索引列获取记录数。执行相同的操作需要115秒。

查询

Select count(1) from table1 where column=code

Table1: table with 2 billion (2 Cr.)
code gets resultset from DB with 1 to 10k rows,
Column is indexed. 

Server Details
Intel Xeon 3.10ghz
8 gb RAM

MySQL server 5.1
MySQL Connector 5.0.6

My.cnf details
Default Engine =InnoDB
Innodn_buffer_pool=4G

也需要花费太多时间来更新查询,请建议我如何调整mysql。

1 个答案:

答案 0 :(得分:1)

对于20亿行表而言,8 GB的ram并不是那么多。

select查询可能只需读取索引,但索引必须加载到内存中。这需要将所有20亿行索引加载到内存中然后使用它。从长远来看,115似乎有点长,但不会太长。

您要查看内存设置,以确保使用可用内存。您可能会考虑为此尺寸问题获得更好的硬件。或者,您可能希望按代码对表进行分区,如果这是一个常见的过滤子句。

Stackoverflow可能不是这个问题的正确位置;这种优化的更好地方是https://dba.stackexchange.com/