Hey guys, I just installed Percona 5.6 on my new CentOS 6.4 server. It’s a fast machine 32 core xenon, 72GB ram, 8x SAS RAID 10 setup. So far so good
My old server is a bit less powerful, and was running MySQL 5.1 still. So this was quite an upgrade. But I’m having some issues with InnoDB, it is not using the indexes correctly on some tables it seems. Where on my old machine the same queries were running fine.
Both servers have the same database. I did a mysqldump on the old machine and imported it onto the new Percona 5.6 server. Indexes stayed the same. Both servers use the same my.cnf config settings.
Table items has indexes on: item_id, item_format, item_private and contains about 40 million rows.
Table formats has index on: format_id and contains about 250 rows.
SELECT
i.item_name, i.item_key, i.item_date, f.format_long
FROM
items i, formats f
WHERE
i.item_format = f.format_id
AND
i.item_private = 0
ORDER BY
i.item_id DESC LIMIT 8
On my old server this query takes about 0.0003 seconds. On the new server it takes over 100 seconds.
Query with EXPLAIN on OLD server. [TABLE=“class: wysiwyg_table_data wysiwyg_table_ajax”]
[TR]
[/TR]
[TR=“class: wysiwyg_table_odd, bgcolor: #FFFFFF”]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_not_null wysiwyg_table_nowrap, align: right”]1[/TD]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_not_null”]SIMPLE[/TD]
[TD=“class: wysiwyg_table_inline_edit”]i[/TD]
[TD=“class: wysiwyg_table_inline_edit”]index[/TD]
[TD=“class: wysiwyg_table_inline_edit”]item_format[/TD]
[TD=“class: wysiwyg_table_inline_edit”]PRIMARY[/TD]
[TD=“class: wysiwyg_table_inline_edit”]4[/TD]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_null, align: right”]NULL[/TD]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_nowrap, align: right”]8[/TD]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_not_null”]Using where[/TD]
[/TR]
[TR=“class: wysiwyg_table_even wysiwyg_table_marked, bgcolor: #B6C6D7”]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_not_null wysiwyg_table_nowrap, align: right”]1[/TD]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_not_null”]SIMPLE[/TD]
[TD=“class: wysiwyg_table_inline_edit”]f[/TD]
[TD=“class: wysiwyg_table_inline_edit”]eq_ref[/TD]
[TD=“class: wysiwyg_table_inline_edit”]PRIMARY[/TD]
[TD=“class: wysiwyg_table_inline_edit”]PRIMARY[/TD]
[TD=“class: wysiwyg_table_inline_edit”]4[/TD]
[TD=“class: wysiwyg_table_inline_edit”]dbname.i.item_format[/TD]
[TD=“class: wysiwyg_table_inline_edit wysiwyg_table_nowrap, align: right”]1[/TD]
[/TR]
[/TABLE]
Query with EXPLAIN on NEW [problem] server. [TABLE=“class: wysiwyg_table_ajax wysiwyg_table_pma_table”]
[TR]
[TD] [/TD]
[/TR]
[TR=“class: wysiwyg_table_odd”]
[TD=“class: wysiwyg_table_right wysiwyg_table_data wysiwyg_table_not_null wysiwyg_table_nowrap”]1[/TD]
[TD=“class: wysiwyg_table_data wysiwyg_table_not_null”]SIMPLE[/TD]
[TD=“class: wysiwyg_table_data”]f[/TD]
[TD=“class: wysiwyg_table_data”]ALL[/TD]
[TD=“class: wysiwyg_table_data”]PRIMARY[/TD]
[TD=“class: wysiwyg_table_data wysiwyg_table_null”]NULL[/TD]
[TD=“class: wysiwyg_table_data wysiwyg_table_null”]NULL[/TD]
[TD=“class: wysiwyg_table_data wysiwyg_table_null”]NULL[/TD]
[TD=“class: wysiwyg_table_right wysiwyg_table_data wysiwyg_table_nowrap”]219[/TD]
[TD=“class: wysiwyg_table_data wysiwyg_table_not_null”]Using temporary; Using filesort[/TD]
[/TR]
[TR=“class: wysiwyg_table_even, bgcolor: #DFDFDF”]
[TD=“class: wysiwyg_table_right wysiwyg_table_data wysiwyg_table_not_null wysiwyg_table_nowrap”]1[/TD]
[TD=“class: wysiwyg_table_data wysiwyg_table_not_null”]SIMPLE[/TD]
[TD=“class: wysiwyg_table_data”]i[/TD]
[TD=“class: wysiwyg_table_data”]ref[/TD]
[TD=“class: wysiwyg_table_data”]item_format[/TD]
[TD=“class: wysiwyg_table_data”]item_format[/TD]
[TD=“class: wysiwyg_table_data”]4[/TD]
[TD=“class: wysiwyg_table_data”]dbname.f.format_id[/TD]
[TD=“class: wysiwyg_table_right wysiwyg_table_data wysiwyg_table_nowrap”]3026[/TD]
[TD=“class: wysiwyg_table_data wysiwyg_table_not_null”]Using where[/TD]
[/TR]
[/TABLE]
You can see that it’s using temporary and filesort. This seems to be the reason for the slowness.
Any idea how I could resolve this issue?