Dear Professionals,
So my years of Linux has started and now we are stumbling onto below issue.
This machine is a HP DL360G8 with 24 cores and 128GB reading from a HP raid5-set operating 15k SAS disks. In Hyper-v we have created a virtual machine dedicated for mysql bases on Ubuntu 14.04. The machine has access to 8 cores and 40gb ram.
Below database has 450.000 rows and measures 650MB, can anyone explain why creating the sort index takes almost a full second?
Query and details below:
SELECT rates_id FROM datastore WHERE lcase(basepartcode)='ABC900' and rate > 0 AND price > 0 AND lcase(provider)='' and lcase(color) = 'black' status > 0 order by price,action_price limit 1
+--------------------------------+----------+
| Status | Duration |
+--------------------------------+----------+
| starting | 0.000060 |
| Waiting for query cache lock | 0.000018 |
| init | 0.000016 |
| checking query cache for query | 0.000149 |
| checking permissions | 0.000023 |
| Opening tables | 0.000050 |
| init | 0.000094 |
| System lock | 0.000037 |
| Waiting for query cache lock | 0.000016 |
| System lock | 0.000068 |
| optimizing | 0.000044 |
| statistics | 0.033595 |
| preparing | 0.000054 |
| Sorting result | 0.000020 |
| executing | 0.000017 |
| Sending data | 0.000025 |
| Creating sort index | 0.809063 |
| Waiting for query cache lock | 0.000053 |
| Creating sort index | 0.000017 |
| storing result in query cache | 0.333763 |
| end | 0.000059 |
| query end | 0.000032 |
| closing tables | 0.000040 |
| freeing items | 0.000548 |
| cleaning up | 0.000055 |
+--------------------------------+----------+
my.cnf
# * Fine Tuning
#
innodb_buffer_pool_size = 8000M
join_buffer_size = 8M
key_buffer = 150M
max_allowed_packet = 150M
thread_stack = 128K
thread_cache_size = 128
table_open_cache = 8192
table_definition_cache = 6144
query_cache_type = 1
query_cache_limit = 8M
query_cache_size = 512M
max_heap_table_size = 512M
tmp_table_size = 512M
skip-name-resolve
max_connections = 2000
open_files_limit = 100000
max_connect_errors=5000
wait_timeout=600
innodb-log-file-size = 250M
innodb-flush-log-at-trx-commit = 2