Select count(*) 在 "large" 个结果集上给出零
Select count(*) gives zero on "large" result sets
我有相当宽的(很多列)table,里面有大约 400,000 行,InnoDb,UTF8MB4_Unicode,大约 60 列和 11 个索引。
见下面的定义。
当我执行 SELECT count(*) FROM table_name WHERE user_id = X
时,它只为 table 中没有那么多行的用户提供正确的计数。
如果我做 RECREATE + ANALYZE 即当你在 InnoDb table 上执行 OPTIMIZE TABLE
时 MySQL 做了什么,它工作正常count 显示正确的值,直到我们再次在 table 中插入新行,然后计数关闭。
我是否遗漏了一些 "common knowledge" 关于 SELECT 的计数,或者这是最新 MySQL 版本中的错误,还是因为我的 table 有很多索引或......其他东西。在升级到 5.6.25 之前,我从未遇到过这种情况。
我应该提到 my.cnf 只有 128 Mb InnoDb_Pool_Buffer 对于这种大小的数据库来说可能尺寸不足(不是很大但大约 300mb从 mysqldump 压缩)。
非常感谢您抽出时间来回答。
编辑 添加来自 mysqltuner.pl 的输出——我非常感谢你们在解释它时提供的任何帮助(我只有 Innodb tables,没有 MyISAM)。请注意它是如何说我有 44 个碎片化的 tables,但我最近才对它们进行了重新创建 + 分析。这是因为其他参数设置得太低了吗?再次感谢。
删除了 Mysql 调谐器输出以放置更多相关数字。
Table 定义(匿名):
删除了 Table 定义,因为不再相关
EDIT2 根据要求,提供 SHOW GLOBAL STATUS 和 SHOW VARIABLES 的输出
Aborted_clients 0
Aborted_connects 5
Binlog_cache_disk_use 0
Binlog_cache_use 0
Binlog_stmt_cache_disk_use 0
Binlog_stmt_cache_use 0
Bytes_received 1392447055
Bytes_sent 20991720246
Com_admin_commands 1739
Com_assign_to_keycache 0
Com_alter_db 0
Com_alter_db_upgrade 0
Com_alter_event 0
Com_alter_function 0
Com_alter_procedure 0
Com_alter_server 0
Com_alter_table 10
Com_alter_tablespace 0
Com_alter_user 0
Com_analyze 0
Com_begin 0
Com_binlog 0
Com_call_procedure 1
Com_change_db 1567913
Com_change_master 0
Com_check 0
Com_checksum 0
Com_commit 0
Com_create_db 0
Com_create_event 0
Com_create_function 0
Com_create_index 0
Com_create_procedure 1
Com_create_server 0
Com_create_table 2
Com_create_trigger 0
Com_create_udf 0
Com_create_user 0
Com_create_view 0
Com_dealloc_sql 0
Com_delete 7717
Com_delete_multi 0
Com_do 0
Com_drop_db 0
Com_drop_event 0
Com_drop_function 0
Com_drop_index 0
Com_drop_procedure 2
Com_drop_server 0
Com_drop_table 2
Com_drop_trigger 0
Com_drop_user 0
Com_drop_view 0
Com_empty_query 0
Com_execute_sql 0
Com_flush 0
Com_get_diagnostics 0
Com_grant 0
Com_ha_close 0
Com_ha_open 0
Com_ha_read 0
Com_help 0
Com_insert 169112
Com_insert_select 37
Com_install_plugin 0
Com_kill 0
Com_load 0
Com_lock_tables 6
Com_optimize 0
Com_preload_keys 0
Com_prepare_sql 0
Com_purge 0
Com_purge_before_date 0
Com_release_savepoint 0
Com_rename_table 0
Com_rename_user 0
Com_repair 0
Com_replace 0
Com_replace_select 0
Com_reset 0
Com_resignal 0
Com_revoke 0
Com_revoke_all 0
Com_rollback 0
Com_rollback_to_savepoint 0
Com_savepoint 0
Com_select 5721646
Com_set_option 3032
Com_signal 0
Com_show_binlog_events 0
Com_show_binlogs 0
Com_show_charsets 0
Com_show_collations 35
Com_show_create_db 86
Com_show_create_event 0
Com_show_create_func 0
Com_show_create_proc 0
Com_show_create_table 587
Com_show_create_trigger 0
Com_show_databases 3
Com_show_engine_logs 0
Com_show_engine_mutex 0
Com_show_engine_status 0
Com_show_events 18
Com_show_errors 0
Com_show_fields 600
Com_show_function_code 0
Com_show_function_status 0
Com_show_grants 0
Com_show_keys 88
Com_show_master_status 0
Com_show_open_tables 0
Com_show_plugins 0
Com_show_privileges 0
Com_show_procedure_code 0
Com_show_procedure_status 0
Com_show_processlist 0
Com_show_profile 0
Com_show_profiles 0
Com_show_relaylog_events 0
Com_show_slave_hosts 0
Com_show_slave_status 0
Com_show_status 1843
Com_show_storage_engines 3
Com_show_table_status 589
Com_show_tables 6
Com_show_triggers 533
Com_show_variables 1956
Com_show_warnings 0
Com_slave_start 0
Com_slave_stop 0
Com_stmt_close 0
Com_stmt_execute 0
Com_stmt_fetch 0
Com_stmt_prepare 0
Com_stmt_reprepare 0
Com_stmt_reset 0
Com_stmt_send_long_data 0
Com_truncate 36
Com_uninstall_plugin 0
Com_unlock_tables 6
Com_update 640052
Com_update_multi 0
Com_xa_commit 0
Com_xa_end 0
Com_xa_prepare 0
Com_xa_recover 0
Com_xa_rollback 0
Com_xa_start 0
Compression OFF
Connection_errors_accept 0
Connection_errors_internal 0
Connection_errors_max_connections 0
Connection_errors_peer_address 0
Connection_errors_select 0
Connection_errors_tcpwrap 0
Connections 1567347
Created_tmp_disk_tables 247145
Created_tmp_files 20174
Created_tmp_tables 386918
Delayed_errors 0
Delayed_insert_threads 0
Delayed_writes 0
Flush_commands 1
Handler_commit 6537068
Handler_delete 33452
Handler_discover 0
Handler_external_lock 20879224
Handler_mrr_init 0
Handler_prepare 0
Handler_read_first 1751492
Handler_read_key 5384829832
Handler_read_last 211053
Handler_read_next 19630786637
Handler_read_prev 6110703982
Handler_read_rnd 73007565
Handler_read_rnd_next 11782800964
Handler_rollback 477
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_update 3632409114
Handler_write 20236858098
Innodb_buffer_pool_dump_status not started
Innodb_buffer_pool_load_status not started
Innodb_buffer_pool_pages_data 45561
Innodb_buffer_pool_bytes_data 746471424
Innodb_buffer_pool_pages_dirty 10
Innodb_buffer_pool_bytes_dirty 163840
Innodb_buffer_pool_pages_flushed 2075723
Innodb_buffer_pool_pages_free 1024
Innodb_buffer_pool_pages_misc 4614
Innodb_buffer_pool_pages_total 51199
Innodb_buffer_pool_read_ahead_rnd 0
Innodb_buffer_pool_read_ahead 337427
Innodb_buffer_pool_read_ahead_evicted 4272
Innodb_buffer_pool_read_requests 50351166042
Innodb_buffer_pool_reads 2496152
Innodb_buffer_pool_wait_free 0
Innodb_buffer_pool_write_requests 25099776
Innodb_data_fsyncs 680776
Innodb_data_pending_fsyncs 0
Innodb_data_pending_reads 0
Innodb_data_pending_writes 0
Innodb_data_read 46916046848
Innodb_data_reads 2863706
Innodb_data_writes 3201512
Innodb_data_written 69819479040
Innodb_dblwr_pages_written 2075723
Innodb_dblwr_writes 103028
Innodb_have_atomic_builtins ON
Innodb_log_waits 0
Innodb_log_write_requests 3054739
Innodb_log_writes 914722
Innodb_os_log_fsyncs 244890
Innodb_os_log_pending_fsyncs 0
Innodb_os_log_pending_writes 0
Innodb_os_log_written 1752017408
Innodb_page_size 16384
Innodb_pages_created 59717
Innodb_pages_read 2863523
Innodb_pages_written 2075723
Innodb_row_lock_current_waits 0
Innodb_row_lock_time 7419
Innodb_row_lock_time_avg 390
Innodb_row_lock_time_max 1422
Innodb_row_lock_waits 19
Innodb_rows_deleted 33451
Innodb_rows_inserted 5432696
Innodb_rows_read 29436124622
Innodb_rows_updated 596060
Innodb_num_open_files 118
Innodb_truncated_status_writes 0
Innodb_available_undo_logs 128
Key_blocks_not_flushed 0
Key_blocks_unused 6698
Key_blocks_used 6698
Key_read_requests 45635462325
Key_reads 6589434
Key_write_requests 12131142501
Key_writes 9617220
Last_query_cost 0.000000
Last_query_partial_plans 0
Max_used_connections 17
Not_flushed_delayed_rows 0
Open_files 46
Open_streams 0
Open_table_definitions 166
Open_tables 287
Opened_files 1009110
Opened_table_definitions 226
Opened_tables 397
Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
Performance_schema_session_connect_attrs_lost 0
Performance_schema_socket_classes_lost 0
Performance_schema_socket_instances_lost 0
Performance_schema_stage_classes_lost 0
Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Performance_schema_users_lost 0
Prepared_stmt_count 0
Qcache_free_blocks 1
Qcache_free_memory 1031352
Qcache_hits 0
Qcache_inserts 0
Qcache_lowmem_prunes 0
Qcache_not_cached 5720393
Qcache_queries_in_cache 0
Qcache_total_blocks 1
Queries 9771703
Questions 9640606
Select_full_join 4608
Select_full_range_join 0
Select_range 385947
Select_range_check 0
Select_scan 1745605
Slave_heartbeat_period
Slave_last_heartbeat
Slave_open_temp_tables 0
Slave_received_heartbeats
Slave_retried_transactions
Slave_running OFF
Slow_launch_threads 0
Slow_queries 16
Sort_merge_passes 17244
Sort_range 214894
Sort_rows 199889850
Sort_scan 260475
Ssl_accept_renegotiates 0
Ssl_accepts 0
Ssl_callback_cache_hits 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_ctx_verify_depth 0
Ssl_ctx_verify_mode 0
Ssl_default_timeout 0
Ssl_finished_accepts 0
Ssl_finished_connects 0
Ssl_server_not_after
Ssl_server_not_before
Ssl_session_cache_hits 0
Ssl_session_cache_misses 0
Ssl_session_cache_mode NONE
Ssl_session_cache_overflows 0
Ssl_session_cache_size 0
Ssl_session_cache_timeouts 0
Ssl_sessions_reused 0
Ssl_used_session_cache_entries 0
Ssl_verify_depth 0
Ssl_verify_mode 0
Ssl_version
Table_locks_immediate 10362193
Table_locks_waited 49
Table_open_cache_hits 10367123
Table_open_cache_misses 396
Table_open_cache_overflows 0
Tc_log_max_pages_used 0
Tc_log_page_size 0
Tc_log_page_waits 0
Threads_cached 7
Threads_connected 3
Threads_created 30
Threads_running 1
Uptime 520269
Uptime_since_flush_status 520269
显示变量
auto_increment_increment 1
auto_increment_offset 1
autocommit ON
automatic_sp_privileges ON
avoid_temporal_upgrade OFF
back_log 80
basedir /usr
big_tables OFF
bind_address 127.0.0.1
binlog_cache_size 32768
binlog_checksum CRC32
binlog_direct_non_transactional_updates OFF
binlog_error_action IGNORE_ERROR
binlog_format STATEMENT
binlog_gtid_simple_recovery OFF
binlog_max_flush_queue_time 0
binlog_order_commits ON
binlog_row_image FULL
binlog_rows_query_log_events OFF
binlog_stmt_cache_size 32768
binlogging_impossible_mode IGNORE_ERROR
block_encryption_mode aes-128-ecb
bulk_insert_buffer_size 8388608
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
collation_connection utf8mb4_general_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_unicode_ci
completion_type NO_CHAIN
concurrent_insert AUTO
connect_timeout 10
core_file OFF
datadir /var/lib/mysql/
date_format %Y-%m-%d
datetime_format %Y-%m-%d %H:%i:%s
default_storage_engine InnoDB
default_tmp_storage_engine InnoDB
default_week_format 0
delay_key_write ON
delayed_insert_limit 100
delayed_insert_timeout 300
delayed_queue_size 1000
disconnect_on_expired_password ON
div_precision_increment 4
end_markers_in_json OFF
enforce_gtid_consistency OFF
eq_range_index_dive_limit 10
error_count 0
event_scheduler OFF
expire_logs_days 0
explicit_defaults_for_timestamp ON
external_user
flush OFF
flush_time 0
foreign_key_checks ON
ft_boolean_syntax + -><()~*:""&|
ft_max_word_len 84
ft_min_word_len 4
ft_query_expansion_limit 20
ft_stopword_file (built-in)
general_log OFF
general_log_file /var/lib/mysql/prouction.log
group_concat_max_len 1024
gtid_executed
gtid_mode OFF
gtid_next AUTOMATIC
gtid_owned
gtid_purged
have_compress YES
have_crypt YES
have_dynamic_loading YES
have_geometry YES
have_openssl DISABLED
have_profiling YES
have_query_cache YES
have_rtree_keys YES
have_ssl DISABLED
have_symlink DISABLED
host_cache_size 279
hostname pgprod
identity 0
ignore_builtin_innodb OFF
ignore_db_dirs
init_connect
init_file
init_slave
innodb_adaptive_flushing ON
innodb_adaptive_flushing_lwm 10
innodb_adaptive_hash_index ON
innodb_adaptive_max_sleep_delay 150000
innodb_additional_mem_pool_size 8388608
innodb_api_bk_commit_interval 5
innodb_api_disable_rowlock OFF
innodb_api_enable_binlog OFF
innodb_api_enable_mdl OFF
innodb_api_trx_level 0
innodb_autoextend_increment 64
innodb_autoinc_lock_mode 1
innodb_buffer_pool_dump_at_shutdown OFF
innodb_buffer_pool_dump_now OFF
innodb_buffer_pool_filename ib_buffer_pool
innodb_buffer_pool_instances 8
innodb_buffer_pool_load_abort OFF
innodb_buffer_pool_load_at_startup OFF
innodb_buffer_pool_load_now OFF
innodb_buffer_pool_size 838860800
innodb_change_buffer_max_size 25
innodb_change_buffering all
innodb_checksum_algorithm innodb
innodb_checksums ON
innodb_cmp_per_index_enabled OFF
innodb_commit_concurrency 0
innodb_compression_failure_threshold_pct 5
innodb_compression_level 6
innodb_compression_pad_pct_max 50
innodb_concurrency_tickets 5000
innodb_data_file_path ibdata1:12M:autoextend
innodb_data_home_dir
innodb_disable_sort_file_cache OFF
innodb_doublewrite ON
innodb_fast_shutdown 1
innodb_file_format Antelope
innodb_file_format_check ON
innodb_file_format_max Antelope
innodb_file_per_table ON
innodb_flush_log_at_timeout 1
innodb_flush_log_at_trx_commit 2
innodb_flush_method O_DIRECT
innodb_flush_neighbors 1
innodb_flushing_avg_loops 30
innodb_force_load_corrupted OFF
innodb_force_recovery 0
innodb_ft_aux_table
innodb_ft_cache_size 8000000
innodb_ft_enable_diag_print OFF
innodb_ft_enable_stopword ON
innodb_ft_max_token_size 84
innodb_ft_min_token_size 3
innodb_ft_num_word_optimize 2000
innodb_ft_result_cache_limit 2000000000
innodb_ft_server_stopword_table
innodb_ft_sort_pll_degree 2
innodb_ft_total_cache_size 640000000
innodb_ft_user_stopword_table
innodb_io_capacity 200
innodb_io_capacity_max 2000
innodb_large_prefix OFF
innodb_lock_wait_timeout 50
innodb_locks_unsafe_for_binlog OFF
innodb_log_buffer_size 8388608
innodb_log_compressed_pages ON
innodb_log_file_size 134217728
innodb_log_files_in_group 2
innodb_log_group_home_dir ./
innodb_lru_scan_depth 1024
innodb_max_dirty_pages_pct 75
innodb_max_dirty_pages_pct_lwm 0
innodb_max_purge_lag 0
innodb_max_purge_lag_delay 0
innodb_mirrored_log_groups 1
innodb_monitor_disable
innodb_monitor_enable
innodb_monitor_reset
innodb_monitor_reset_all
innodb_old_blocks_pct 37
innodb_old_blocks_time 1000
innodb_online_alter_log_max_size 134217728
innodb_open_files 431
innodb_optimize_fulltext_only OFF
innodb_page_size 16384
innodb_print_all_deadlocks OFF
innodb_purge_batch_size 300
innodb_purge_threads 1
innodb_random_read_ahead OFF
innodb_read_ahead_threshold 56
innodb_read_io_threads 4
innodb_read_only OFF
innodb_replication_delay 0
innodb_rollback_on_timeout OFF
innodb_rollback_segments 128
innodb_sort_buffer_size 1048576
innodb_spin_wait_delay 6
innodb_stats_auto_recalc ON
innodb_stats_method nulls_equal
innodb_stats_on_metadata OFF
innodb_stats_persistent ON
innodb_stats_persistent_sample_pages 20
innodb_stats_sample_pages 8
innodb_stats_transient_sample_pages 8
innodb_status_output OFF
innodb_status_output_locks OFF
innodb_strict_mode OFF
innodb_support_xa ON
innodb_sync_array_size 1
innodb_sync_spin_loops 30
innodb_table_locks ON
innodb_thread_concurrency 0
innodb_thread_sleep_delay 10000
innodb_undo_directory .
innodb_undo_logs 128
innodb_undo_tablespaces 0
innodb_use_native_aio ON
innodb_use_sys_malloc ON
innodb_version 5.6.25
innodb_write_io_threads 4
insert_id 0
interactive_timeout 28800
join_buffer_size 262144
keep_files_on_create OFF
key_buffer_size 8388608
key_cache_age_threshold 300
key_cache_block_size 1024
key_cache_division_limit 100
large_files_support ON
large_page_size 0
large_pages OFF
last_insert_id 0
lc_messages en_US
lc_messages_dir /usr/share/mysql/
lc_time_names en_US
license GPL
local_infile ON
lock_wait_timeout 31536000
locked_in_memory OFF
log_bin OFF
log_bin_basename
log_bin_index
log_bin_trust_function_creators OFF
log_bin_use_v1_row_events OFF
log_error /var/log/mysql/error.log
log_output FILE
log_queries_not_using_indexes OFF
log_slave_updates OFF
log_slow_admin_statements OFF
log_slow_slave_statements OFF
log_throttle_queries_not_using_indexes 0
log_warnings 1
long_query_time 10.000000
low_priority_updates OFF
lower_case_file_system OFF
lower_case_table_names 0
master_info_repository FILE
master_verify_checksum OFF
max_allowed_packet 4194304
max_binlog_cache_size 18446744073709547520
max_binlog_size 1073741824
max_binlog_stmt_cache_size 18446744073709547520
max_connect_errors 100
max_connections 151
max_delayed_threads 20
max_digest_length 1024
max_error_count 64
max_heap_table_size 16777216
max_insert_delayed_threads 20
max_join_size 18446744073709551615
max_length_for_sort_data 1024
max_prepared_stmt_count 16382
max_relay_log_size 0
max_seeks_for_key 18446744073709551615
max_sort_length 1024
max_sp_recursion_depth 0
max_tmp_tables 32
max_user_connections 0
max_write_lock_count 18446744073709551615
metadata_locks_cache_size 1024
metadata_locks_hash_instances 8
min_examined_row_limit 0
multi_range_count 256
myisam_data_pointer_size 6
myisam_max_sort_file_size 9223372036853727232
myisam_mmap_size 18446744073709551615
myisam_recover_options OFF
myisam_repair_threads 1
myisam_sort_buffer_size 8388608
myisam_stats_method nulls_unequal
myisam_use_mmap OFF
net_buffer_length 16384
net_read_timeout 30
net_retry_count 10
net_write_timeout 60
new OFF
old OFF
old_alter_table OFF
old_passwords 0
open_files_limit 1024
optimizer_prune_level 1
optimizer_search_depth 62
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on
optimizer_trace enabled=off,one_line=off
optimizer_trace_features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
optimizer_trace_limit 1
optimizer_trace_max_mem_size 16384
optimizer_trace_offset -1
performance_schema ON
performance_schema_accounts_size 100
performance_schema_digests_size 5000
performance_schema_events_stages_history_long_size 1000
performance_schema_events_stages_history_size 10
performance_schema_events_statements_history_long_size 1000
performance_schema_events_statements_history_size 10
performance_schema_events_waits_history_long_size 1000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1382
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 2557
performance_schema_max_mutex_classes 200
performance_schema_max_mutex_instances 5755
performance_schema_max_rwlock_classes 40
performance_schema_max_rwlock_instances 3138
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 230
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 616
performance_schema_max_table_instances 684
performance_schema_max_thread_classes 50
performance_schema_max_thread_instances 288
performance_schema_session_connect_attrs_size 512
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_users_size 100
pid_file /var/run/mysqld/mysqld.pid
plugin_dir /usr/lib/mysql/plugin/
port 3306
preload_buffer_size 32768
profiling OFF
profiling_history_size 15
protocol_version 10
proxy_user
pseudo_slave_mode OFF
pseudo_thread_id 1568066
query_alloc_block_size 8192
query_cache_limit 1048576
query_cache_min_res_unit 4096
query_cache_size 1048576
query_cache_type OFF
query_cache_wlock_invalidate OFF
query_prealloc_size 8192
rand_seed1 0
rand_seed2 0
range_alloc_block_size 4096
read_buffer_size 131072
read_only OFF
read_rnd_buffer_size 262144
relay_log
relay_log_basename
relay_log_index
relay_log_info_file relay-log.info
relay_log_info_repository FILE
relay_log_purge ON
relay_log_recovery OFF
relay_log_space_limit 0
report_host
report_password
report_port 3306
report_user
rpl_stop_slave_timeout 31536000
secure_auth ON
secure_file_priv
server_id 0
server_id_bits 32
server_uuid 28674a00-1caa-11e5-8871-f23c9126e5eb
show_old_temporals OFF
simplified_binlog_gtid_recovery OFF
skip_external_locking ON
skip_name_resolve OFF
skip_networking OFF
skip_show_database OFF
slave_allow_batching OFF
slave_checkpoint_group 512
slave_checkpoint_period 300
slave_compressed_protocol OFF
slave_exec_mode STRICT
slave_load_tmpdir /tmp
slave_max_allowed_packet 1073741824
slave_net_timeout 3600
slave_parallel_workers 0
slave_pending_jobs_size_max 16777216
slave_rows_search_algorithms TABLE_SCAN,INDEX_SCAN
slave_skip_errors OFF
slave_sql_verify_checksum ON
slave_transaction_retries 10
slave_type_conversions
slow_launch_time 2
slow_query_log OFF
slow_query_log_file /var/lib/mysql/pgprod-slow.log
socket /var/run/mysqld/mysqld.sock
sort_buffer_size 262144
sql_auto_is_null OFF
sql_big_selects ON
sql_buffer_result OFF
sql_log_bin ON
sql_log_off OFF
sql_mode STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
sql_notes ON
sql_quote_show_create ON
sql_safe_updates OFF
sql_select_limit 18446744073709551615
sql_slave_skip_counter 0
sql_warnings OFF
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_crl
ssl_crlpath
ssl_key
storage_engine InnoDB
stored_program_cache 256
sync_binlog 0
sync_frm ON
sync_master_info 10000
sync_relay_log 10000
sync_relay_log_info 10000
system_time_zone CEST
table_definition_cache 615
table_open_cache 431
table_open_cache_instances 1
thread_cache_size 9
thread_concurrency 10
thread_handling one-thread-per-connection
thread_stack 262144
time_format %H:%i:%s
time_zone SYSTEM
timed_mutexes OFF
timestamp 1436434135.246666
tmp_table_size 16777216
tmpdir /tmp
transaction_alloc_block_size 8192
transaction_allow_batching OFF
transaction_prealloc_size 4096
tx_isolation REPEATABLE-READ
tx_read_only OFF
unique_checks ON
updatable_views_with_limit YES
version 5.6.25
version_comment MySQL Community Server (GPL)
version_compile_machine x86_64
version_compile_os Linux
wait_timeout 28800
warning_count 0
忽略 "fragmented" -- InnoDB tables 基本上从来都不是问题。不要运行OPTIMIZE TABLE
。 (如果这样做,请在之前和之后执行 SHOW TABLE STATUS
-- 看看它并没有多大帮助。)
你有 4GB 内存? innodb_buffer_pool_size
可能会增加到 600M。
QC 禁用 -- 对于生产系统通常是 "good"。
很少需要 BIGINT
(8 个字节),除非您期望拥有超过 40 亿个东西(INT UNSIGNED - 4 个字节 - 最多 40 亿个)。
如果您想要 mysqltuner 提供的更多分析,请向我提供 SHOW VARIABLES;
和 SHOW GLOBAL STATUS;
(在服务器至少启动一天后)。
回到主要问题...我看不出这个特定查询有任何错误的原因:
SELECT count(*) FROM table_name WHERE user_id = X
如果你EXPLAIN SELECT ...
,你会看到它会使用一个索引。 InnoDB 中的索引永远不会损坏。
你说5.6.25可能有问题。是的,总是有这样的机会。 (MySQL 因没有回归而享有盛誉,这肯定是。)请关注 bugs.mysql.com。在那里提交错误。考虑降级。
VARIABLES/STATUS分析
在设置中找不到很多:
( Key_reads ) = 6,589,434 / 520269 = 13 /sec -- MyISAM 索引读取(从磁盘)率
( Key_reads + Key_writes ) = (6589434 + 9617220) / 520269 = 31 /sec -- MyISAM 索引 I/O 速率
您正在大量使用 MyISAM; key_buffer_size
(8M) 应该增加到,比方说,100M。
( Created_tmp_disk_tables / (Created_tmp_disk_tables + Created_tmp_tables) ) = 247,145 / (247145 + 386918) = 39.0% -- 溢出的温度百分比 table到磁盘
-- 可能增加 tmp_table_size 和 max_heap_table_size;避免斑点等
( Select_scan ) = 1,745,605 / 520269 = 3.4 /秒 -- 完整 table 扫描
-- 添加索引/优化查询(除非它们很小 tables)
( Select_scan / Com_select ) = 1,745,605 / 5721646 = 30.5% -- 进行全面 table 扫描的选择百分比。 (可能会被Stored Routines愚弄。)
-- 添加索引/优化查询
( open_files_limit ) = 1,024 -- ulimit -n
-- 要允许更多文件,请更改 ulimit 或 /etc/security/limits.conf 或 sysctl.conf (kern.maxfiles & kern.maxfilesperproc) 或其他内容否则(OS 依赖)
(连接数)= 1,567,347 / 520269 = 3 /秒 -- 连接数
-- 增加wait_timeout;使用池化?
您的查询缓存已停用一半。您应该同时设置 query_cache_type = OFF 和 query_cache_size = 0 。有(根据谣言)QC 代码中的 'bug' 会保留一些代码,除非您关闭这两个设置。
我有相当宽的(很多列)table,里面有大约 400,000 行,InnoDb,UTF8MB4_Unicode,大约 60 列和 11 个索引。
见下面的定义。
当我执行 SELECT count(*) FROM table_name WHERE user_id = X
时,它只为 table 中没有那么多行的用户提供正确的计数。
如果我做 RECREATE + ANALYZE 即当你在 InnoDb table 上执行 OPTIMIZE TABLE
时 MySQL 做了什么,它工作正常count 显示正确的值,直到我们再次在 table 中插入新行,然后计数关闭。
我是否遗漏了一些 "common knowledge" 关于 SELECT 的计数,或者这是最新 MySQL 版本中的错误,还是因为我的 table 有很多索引或......其他东西。在升级到 5.6.25 之前,我从未遇到过这种情况。
我应该提到 my.cnf 只有 128 Mb InnoDb_Pool_Buffer 对于这种大小的数据库来说可能尺寸不足(不是很大但大约 300mb从 mysqldump 压缩)。
非常感谢您抽出时间来回答。
编辑 添加来自 mysqltuner.pl 的输出——我非常感谢你们在解释它时提供的任何帮助(我只有 Innodb tables,没有 MyISAM)。请注意它是如何说我有 44 个碎片化的 tables,但我最近才对它们进行了重新创建 + 分析。这是因为其他参数设置得太低了吗?再次感谢。
删除了 Mysql 调谐器输出以放置更多相关数字。
Table 定义(匿名):
删除了 Table 定义,因为不再相关
EDIT2 根据要求,提供 SHOW GLOBAL STATUS 和 SHOW VARIABLES 的输出
Aborted_clients 0
Aborted_connects 5
Binlog_cache_disk_use 0
Binlog_cache_use 0
Binlog_stmt_cache_disk_use 0
Binlog_stmt_cache_use 0
Bytes_received 1392447055
Bytes_sent 20991720246
Com_admin_commands 1739
Com_assign_to_keycache 0
Com_alter_db 0
Com_alter_db_upgrade 0
Com_alter_event 0
Com_alter_function 0
Com_alter_procedure 0
Com_alter_server 0
Com_alter_table 10
Com_alter_tablespace 0
Com_alter_user 0
Com_analyze 0
Com_begin 0
Com_binlog 0
Com_call_procedure 1
Com_change_db 1567913
Com_change_master 0
Com_check 0
Com_checksum 0
Com_commit 0
Com_create_db 0
Com_create_event 0
Com_create_function 0
Com_create_index 0
Com_create_procedure 1
Com_create_server 0
Com_create_table 2
Com_create_trigger 0
Com_create_udf 0
Com_create_user 0
Com_create_view 0
Com_dealloc_sql 0
Com_delete 7717
Com_delete_multi 0
Com_do 0
Com_drop_db 0
Com_drop_event 0
Com_drop_function 0
Com_drop_index 0
Com_drop_procedure 2
Com_drop_server 0
Com_drop_table 2
Com_drop_trigger 0
Com_drop_user 0
Com_drop_view 0
Com_empty_query 0
Com_execute_sql 0
Com_flush 0
Com_get_diagnostics 0
Com_grant 0
Com_ha_close 0
Com_ha_open 0
Com_ha_read 0
Com_help 0
Com_insert 169112
Com_insert_select 37
Com_install_plugin 0
Com_kill 0
Com_load 0
Com_lock_tables 6
Com_optimize 0
Com_preload_keys 0
Com_prepare_sql 0
Com_purge 0
Com_purge_before_date 0
Com_release_savepoint 0
Com_rename_table 0
Com_rename_user 0
Com_repair 0
Com_replace 0
Com_replace_select 0
Com_reset 0
Com_resignal 0
Com_revoke 0
Com_revoke_all 0
Com_rollback 0
Com_rollback_to_savepoint 0
Com_savepoint 0
Com_select 5721646
Com_set_option 3032
Com_signal 0
Com_show_binlog_events 0
Com_show_binlogs 0
Com_show_charsets 0
Com_show_collations 35
Com_show_create_db 86
Com_show_create_event 0
Com_show_create_func 0
Com_show_create_proc 0
Com_show_create_table 587
Com_show_create_trigger 0
Com_show_databases 3
Com_show_engine_logs 0
Com_show_engine_mutex 0
Com_show_engine_status 0
Com_show_events 18
Com_show_errors 0
Com_show_fields 600
Com_show_function_code 0
Com_show_function_status 0
Com_show_grants 0
Com_show_keys 88
Com_show_master_status 0
Com_show_open_tables 0
Com_show_plugins 0
Com_show_privileges 0
Com_show_procedure_code 0
Com_show_procedure_status 0
Com_show_processlist 0
Com_show_profile 0
Com_show_profiles 0
Com_show_relaylog_events 0
Com_show_slave_hosts 0
Com_show_slave_status 0
Com_show_status 1843
Com_show_storage_engines 3
Com_show_table_status 589
Com_show_tables 6
Com_show_triggers 533
Com_show_variables 1956
Com_show_warnings 0
Com_slave_start 0
Com_slave_stop 0
Com_stmt_close 0
Com_stmt_execute 0
Com_stmt_fetch 0
Com_stmt_prepare 0
Com_stmt_reprepare 0
Com_stmt_reset 0
Com_stmt_send_long_data 0
Com_truncate 36
Com_uninstall_plugin 0
Com_unlock_tables 6
Com_update 640052
Com_update_multi 0
Com_xa_commit 0
Com_xa_end 0
Com_xa_prepare 0
Com_xa_recover 0
Com_xa_rollback 0
Com_xa_start 0
Compression OFF
Connection_errors_accept 0
Connection_errors_internal 0
Connection_errors_max_connections 0
Connection_errors_peer_address 0
Connection_errors_select 0
Connection_errors_tcpwrap 0
Connections 1567347
Created_tmp_disk_tables 247145
Created_tmp_files 20174
Created_tmp_tables 386918
Delayed_errors 0
Delayed_insert_threads 0
Delayed_writes 0
Flush_commands 1
Handler_commit 6537068
Handler_delete 33452
Handler_discover 0
Handler_external_lock 20879224
Handler_mrr_init 0
Handler_prepare 0
Handler_read_first 1751492
Handler_read_key 5384829832
Handler_read_last 211053
Handler_read_next 19630786637
Handler_read_prev 6110703982
Handler_read_rnd 73007565
Handler_read_rnd_next 11782800964
Handler_rollback 477
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_update 3632409114
Handler_write 20236858098
Innodb_buffer_pool_dump_status not started
Innodb_buffer_pool_load_status not started
Innodb_buffer_pool_pages_data 45561
Innodb_buffer_pool_bytes_data 746471424
Innodb_buffer_pool_pages_dirty 10
Innodb_buffer_pool_bytes_dirty 163840
Innodb_buffer_pool_pages_flushed 2075723
Innodb_buffer_pool_pages_free 1024
Innodb_buffer_pool_pages_misc 4614
Innodb_buffer_pool_pages_total 51199
Innodb_buffer_pool_read_ahead_rnd 0
Innodb_buffer_pool_read_ahead 337427
Innodb_buffer_pool_read_ahead_evicted 4272
Innodb_buffer_pool_read_requests 50351166042
Innodb_buffer_pool_reads 2496152
Innodb_buffer_pool_wait_free 0
Innodb_buffer_pool_write_requests 25099776
Innodb_data_fsyncs 680776
Innodb_data_pending_fsyncs 0
Innodb_data_pending_reads 0
Innodb_data_pending_writes 0
Innodb_data_read 46916046848
Innodb_data_reads 2863706
Innodb_data_writes 3201512
Innodb_data_written 69819479040
Innodb_dblwr_pages_written 2075723
Innodb_dblwr_writes 103028
Innodb_have_atomic_builtins ON
Innodb_log_waits 0
Innodb_log_write_requests 3054739
Innodb_log_writes 914722
Innodb_os_log_fsyncs 244890
Innodb_os_log_pending_fsyncs 0
Innodb_os_log_pending_writes 0
Innodb_os_log_written 1752017408
Innodb_page_size 16384
Innodb_pages_created 59717
Innodb_pages_read 2863523
Innodb_pages_written 2075723
Innodb_row_lock_current_waits 0
Innodb_row_lock_time 7419
Innodb_row_lock_time_avg 390
Innodb_row_lock_time_max 1422
Innodb_row_lock_waits 19
Innodb_rows_deleted 33451
Innodb_rows_inserted 5432696
Innodb_rows_read 29436124622
Innodb_rows_updated 596060
Innodb_num_open_files 118
Innodb_truncated_status_writes 0
Innodb_available_undo_logs 128
Key_blocks_not_flushed 0
Key_blocks_unused 6698
Key_blocks_used 6698
Key_read_requests 45635462325
Key_reads 6589434
Key_write_requests 12131142501
Key_writes 9617220
Last_query_cost 0.000000
Last_query_partial_plans 0
Max_used_connections 17
Not_flushed_delayed_rows 0
Open_files 46
Open_streams 0
Open_table_definitions 166
Open_tables 287
Opened_files 1009110
Opened_table_definitions 226
Opened_tables 397
Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
Performance_schema_session_connect_attrs_lost 0
Performance_schema_socket_classes_lost 0
Performance_schema_socket_instances_lost 0
Performance_schema_stage_classes_lost 0
Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Performance_schema_users_lost 0
Prepared_stmt_count 0
Qcache_free_blocks 1
Qcache_free_memory 1031352
Qcache_hits 0
Qcache_inserts 0
Qcache_lowmem_prunes 0
Qcache_not_cached 5720393
Qcache_queries_in_cache 0
Qcache_total_blocks 1
Queries 9771703
Questions 9640606
Select_full_join 4608
Select_full_range_join 0
Select_range 385947
Select_range_check 0
Select_scan 1745605
Slave_heartbeat_period
Slave_last_heartbeat
Slave_open_temp_tables 0
Slave_received_heartbeats
Slave_retried_transactions
Slave_running OFF
Slow_launch_threads 0
Slow_queries 16
Sort_merge_passes 17244
Sort_range 214894
Sort_rows 199889850
Sort_scan 260475
Ssl_accept_renegotiates 0
Ssl_accepts 0
Ssl_callback_cache_hits 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_ctx_verify_depth 0
Ssl_ctx_verify_mode 0
Ssl_default_timeout 0
Ssl_finished_accepts 0
Ssl_finished_connects 0
Ssl_server_not_after
Ssl_server_not_before
Ssl_session_cache_hits 0
Ssl_session_cache_misses 0
Ssl_session_cache_mode NONE
Ssl_session_cache_overflows 0
Ssl_session_cache_size 0
Ssl_session_cache_timeouts 0
Ssl_sessions_reused 0
Ssl_used_session_cache_entries 0
Ssl_verify_depth 0
Ssl_verify_mode 0
Ssl_version
Table_locks_immediate 10362193
Table_locks_waited 49
Table_open_cache_hits 10367123
Table_open_cache_misses 396
Table_open_cache_overflows 0
Tc_log_max_pages_used 0
Tc_log_page_size 0
Tc_log_page_waits 0
Threads_cached 7
Threads_connected 3
Threads_created 30
Threads_running 1
Uptime 520269
Uptime_since_flush_status 520269
显示变量
auto_increment_increment 1
auto_increment_offset 1
autocommit ON
automatic_sp_privileges ON
avoid_temporal_upgrade OFF
back_log 80
basedir /usr
big_tables OFF
bind_address 127.0.0.1
binlog_cache_size 32768
binlog_checksum CRC32
binlog_direct_non_transactional_updates OFF
binlog_error_action IGNORE_ERROR
binlog_format STATEMENT
binlog_gtid_simple_recovery OFF
binlog_max_flush_queue_time 0
binlog_order_commits ON
binlog_row_image FULL
binlog_rows_query_log_events OFF
binlog_stmt_cache_size 32768
binlogging_impossible_mode IGNORE_ERROR
block_encryption_mode aes-128-ecb
bulk_insert_buffer_size 8388608
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
collation_connection utf8mb4_general_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_unicode_ci
completion_type NO_CHAIN
concurrent_insert AUTO
connect_timeout 10
core_file OFF
datadir /var/lib/mysql/
date_format %Y-%m-%d
datetime_format %Y-%m-%d %H:%i:%s
default_storage_engine InnoDB
default_tmp_storage_engine InnoDB
default_week_format 0
delay_key_write ON
delayed_insert_limit 100
delayed_insert_timeout 300
delayed_queue_size 1000
disconnect_on_expired_password ON
div_precision_increment 4
end_markers_in_json OFF
enforce_gtid_consistency OFF
eq_range_index_dive_limit 10
error_count 0
event_scheduler OFF
expire_logs_days 0
explicit_defaults_for_timestamp ON
external_user
flush OFF
flush_time 0
foreign_key_checks ON
ft_boolean_syntax + -><()~*:""&|
ft_max_word_len 84
ft_min_word_len 4
ft_query_expansion_limit 20
ft_stopword_file (built-in)
general_log OFF
general_log_file /var/lib/mysql/prouction.log
group_concat_max_len 1024
gtid_executed
gtid_mode OFF
gtid_next AUTOMATIC
gtid_owned
gtid_purged
have_compress YES
have_crypt YES
have_dynamic_loading YES
have_geometry YES
have_openssl DISABLED
have_profiling YES
have_query_cache YES
have_rtree_keys YES
have_ssl DISABLED
have_symlink DISABLED
host_cache_size 279
hostname pgprod
identity 0
ignore_builtin_innodb OFF
ignore_db_dirs
init_connect
init_file
init_slave
innodb_adaptive_flushing ON
innodb_adaptive_flushing_lwm 10
innodb_adaptive_hash_index ON
innodb_adaptive_max_sleep_delay 150000
innodb_additional_mem_pool_size 8388608
innodb_api_bk_commit_interval 5
innodb_api_disable_rowlock OFF
innodb_api_enable_binlog OFF
innodb_api_enable_mdl OFF
innodb_api_trx_level 0
innodb_autoextend_increment 64
innodb_autoinc_lock_mode 1
innodb_buffer_pool_dump_at_shutdown OFF
innodb_buffer_pool_dump_now OFF
innodb_buffer_pool_filename ib_buffer_pool
innodb_buffer_pool_instances 8
innodb_buffer_pool_load_abort OFF
innodb_buffer_pool_load_at_startup OFF
innodb_buffer_pool_load_now OFF
innodb_buffer_pool_size 838860800
innodb_change_buffer_max_size 25
innodb_change_buffering all
innodb_checksum_algorithm innodb
innodb_checksums ON
innodb_cmp_per_index_enabled OFF
innodb_commit_concurrency 0
innodb_compression_failure_threshold_pct 5
innodb_compression_level 6
innodb_compression_pad_pct_max 50
innodb_concurrency_tickets 5000
innodb_data_file_path ibdata1:12M:autoextend
innodb_data_home_dir
innodb_disable_sort_file_cache OFF
innodb_doublewrite ON
innodb_fast_shutdown 1
innodb_file_format Antelope
innodb_file_format_check ON
innodb_file_format_max Antelope
innodb_file_per_table ON
innodb_flush_log_at_timeout 1
innodb_flush_log_at_trx_commit 2
innodb_flush_method O_DIRECT
innodb_flush_neighbors 1
innodb_flushing_avg_loops 30
innodb_force_load_corrupted OFF
innodb_force_recovery 0
innodb_ft_aux_table
innodb_ft_cache_size 8000000
innodb_ft_enable_diag_print OFF
innodb_ft_enable_stopword ON
innodb_ft_max_token_size 84
innodb_ft_min_token_size 3
innodb_ft_num_word_optimize 2000
innodb_ft_result_cache_limit 2000000000
innodb_ft_server_stopword_table
innodb_ft_sort_pll_degree 2
innodb_ft_total_cache_size 640000000
innodb_ft_user_stopword_table
innodb_io_capacity 200
innodb_io_capacity_max 2000
innodb_large_prefix OFF
innodb_lock_wait_timeout 50
innodb_locks_unsafe_for_binlog OFF
innodb_log_buffer_size 8388608
innodb_log_compressed_pages ON
innodb_log_file_size 134217728
innodb_log_files_in_group 2
innodb_log_group_home_dir ./
innodb_lru_scan_depth 1024
innodb_max_dirty_pages_pct 75
innodb_max_dirty_pages_pct_lwm 0
innodb_max_purge_lag 0
innodb_max_purge_lag_delay 0
innodb_mirrored_log_groups 1
innodb_monitor_disable
innodb_monitor_enable
innodb_monitor_reset
innodb_monitor_reset_all
innodb_old_blocks_pct 37
innodb_old_blocks_time 1000
innodb_online_alter_log_max_size 134217728
innodb_open_files 431
innodb_optimize_fulltext_only OFF
innodb_page_size 16384
innodb_print_all_deadlocks OFF
innodb_purge_batch_size 300
innodb_purge_threads 1
innodb_random_read_ahead OFF
innodb_read_ahead_threshold 56
innodb_read_io_threads 4
innodb_read_only OFF
innodb_replication_delay 0
innodb_rollback_on_timeout OFF
innodb_rollback_segments 128
innodb_sort_buffer_size 1048576
innodb_spin_wait_delay 6
innodb_stats_auto_recalc ON
innodb_stats_method nulls_equal
innodb_stats_on_metadata OFF
innodb_stats_persistent ON
innodb_stats_persistent_sample_pages 20
innodb_stats_sample_pages 8
innodb_stats_transient_sample_pages 8
innodb_status_output OFF
innodb_status_output_locks OFF
innodb_strict_mode OFF
innodb_support_xa ON
innodb_sync_array_size 1
innodb_sync_spin_loops 30
innodb_table_locks ON
innodb_thread_concurrency 0
innodb_thread_sleep_delay 10000
innodb_undo_directory .
innodb_undo_logs 128
innodb_undo_tablespaces 0
innodb_use_native_aio ON
innodb_use_sys_malloc ON
innodb_version 5.6.25
innodb_write_io_threads 4
insert_id 0
interactive_timeout 28800
join_buffer_size 262144
keep_files_on_create OFF
key_buffer_size 8388608
key_cache_age_threshold 300
key_cache_block_size 1024
key_cache_division_limit 100
large_files_support ON
large_page_size 0
large_pages OFF
last_insert_id 0
lc_messages en_US
lc_messages_dir /usr/share/mysql/
lc_time_names en_US
license GPL
local_infile ON
lock_wait_timeout 31536000
locked_in_memory OFF
log_bin OFF
log_bin_basename
log_bin_index
log_bin_trust_function_creators OFF
log_bin_use_v1_row_events OFF
log_error /var/log/mysql/error.log
log_output FILE
log_queries_not_using_indexes OFF
log_slave_updates OFF
log_slow_admin_statements OFF
log_slow_slave_statements OFF
log_throttle_queries_not_using_indexes 0
log_warnings 1
long_query_time 10.000000
low_priority_updates OFF
lower_case_file_system OFF
lower_case_table_names 0
master_info_repository FILE
master_verify_checksum OFF
max_allowed_packet 4194304
max_binlog_cache_size 18446744073709547520
max_binlog_size 1073741824
max_binlog_stmt_cache_size 18446744073709547520
max_connect_errors 100
max_connections 151
max_delayed_threads 20
max_digest_length 1024
max_error_count 64
max_heap_table_size 16777216
max_insert_delayed_threads 20
max_join_size 18446744073709551615
max_length_for_sort_data 1024
max_prepared_stmt_count 16382
max_relay_log_size 0
max_seeks_for_key 18446744073709551615
max_sort_length 1024
max_sp_recursion_depth 0
max_tmp_tables 32
max_user_connections 0
max_write_lock_count 18446744073709551615
metadata_locks_cache_size 1024
metadata_locks_hash_instances 8
min_examined_row_limit 0
multi_range_count 256
myisam_data_pointer_size 6
myisam_max_sort_file_size 9223372036853727232
myisam_mmap_size 18446744073709551615
myisam_recover_options OFF
myisam_repair_threads 1
myisam_sort_buffer_size 8388608
myisam_stats_method nulls_unequal
myisam_use_mmap OFF
net_buffer_length 16384
net_read_timeout 30
net_retry_count 10
net_write_timeout 60
new OFF
old OFF
old_alter_table OFF
old_passwords 0
open_files_limit 1024
optimizer_prune_level 1
optimizer_search_depth 62
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on
optimizer_trace enabled=off,one_line=off
optimizer_trace_features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
optimizer_trace_limit 1
optimizer_trace_max_mem_size 16384
optimizer_trace_offset -1
performance_schema ON
performance_schema_accounts_size 100
performance_schema_digests_size 5000
performance_schema_events_stages_history_long_size 1000
performance_schema_events_stages_history_size 10
performance_schema_events_statements_history_long_size 1000
performance_schema_events_statements_history_size 10
performance_schema_events_waits_history_long_size 1000
performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1382
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 2557
performance_schema_max_mutex_classes 200
performance_schema_max_mutex_instances 5755
performance_schema_max_rwlock_classes 40
performance_schema_max_rwlock_instances 3138
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 230
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 616
performance_schema_max_table_instances 684
performance_schema_max_thread_classes 50
performance_schema_max_thread_instances 288
performance_schema_session_connect_attrs_size 512
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_users_size 100
pid_file /var/run/mysqld/mysqld.pid
plugin_dir /usr/lib/mysql/plugin/
port 3306
preload_buffer_size 32768
profiling OFF
profiling_history_size 15
protocol_version 10
proxy_user
pseudo_slave_mode OFF
pseudo_thread_id 1568066
query_alloc_block_size 8192
query_cache_limit 1048576
query_cache_min_res_unit 4096
query_cache_size 1048576
query_cache_type OFF
query_cache_wlock_invalidate OFF
query_prealloc_size 8192
rand_seed1 0
rand_seed2 0
range_alloc_block_size 4096
read_buffer_size 131072
read_only OFF
read_rnd_buffer_size 262144
relay_log
relay_log_basename
relay_log_index
relay_log_info_file relay-log.info
relay_log_info_repository FILE
relay_log_purge ON
relay_log_recovery OFF
relay_log_space_limit 0
report_host
report_password
report_port 3306
report_user
rpl_stop_slave_timeout 31536000
secure_auth ON
secure_file_priv
server_id 0
server_id_bits 32
server_uuid 28674a00-1caa-11e5-8871-f23c9126e5eb
show_old_temporals OFF
simplified_binlog_gtid_recovery OFF
skip_external_locking ON
skip_name_resolve OFF
skip_networking OFF
skip_show_database OFF
slave_allow_batching OFF
slave_checkpoint_group 512
slave_checkpoint_period 300
slave_compressed_protocol OFF
slave_exec_mode STRICT
slave_load_tmpdir /tmp
slave_max_allowed_packet 1073741824
slave_net_timeout 3600
slave_parallel_workers 0
slave_pending_jobs_size_max 16777216
slave_rows_search_algorithms TABLE_SCAN,INDEX_SCAN
slave_skip_errors OFF
slave_sql_verify_checksum ON
slave_transaction_retries 10
slave_type_conversions
slow_launch_time 2
slow_query_log OFF
slow_query_log_file /var/lib/mysql/pgprod-slow.log
socket /var/run/mysqld/mysqld.sock
sort_buffer_size 262144
sql_auto_is_null OFF
sql_big_selects ON
sql_buffer_result OFF
sql_log_bin ON
sql_log_off OFF
sql_mode STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
sql_notes ON
sql_quote_show_create ON
sql_safe_updates OFF
sql_select_limit 18446744073709551615
sql_slave_skip_counter 0
sql_warnings OFF
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_crl
ssl_crlpath
ssl_key
storage_engine InnoDB
stored_program_cache 256
sync_binlog 0
sync_frm ON
sync_master_info 10000
sync_relay_log 10000
sync_relay_log_info 10000
system_time_zone CEST
table_definition_cache 615
table_open_cache 431
table_open_cache_instances 1
thread_cache_size 9
thread_concurrency 10
thread_handling one-thread-per-connection
thread_stack 262144
time_format %H:%i:%s
time_zone SYSTEM
timed_mutexes OFF
timestamp 1436434135.246666
tmp_table_size 16777216
tmpdir /tmp
transaction_alloc_block_size 8192
transaction_allow_batching OFF
transaction_prealloc_size 4096
tx_isolation REPEATABLE-READ
tx_read_only OFF
unique_checks ON
updatable_views_with_limit YES
version 5.6.25
version_comment MySQL Community Server (GPL)
version_compile_machine x86_64
version_compile_os Linux
wait_timeout 28800
warning_count 0
忽略 "fragmented" -- InnoDB tables 基本上从来都不是问题。不要运行OPTIMIZE TABLE
。 (如果这样做,请在之前和之后执行 SHOW TABLE STATUS
-- 看看它并没有多大帮助。)
你有 4GB 内存? innodb_buffer_pool_size
可能会增加到 600M。
QC 禁用 -- 对于生产系统通常是 "good"。
很少需要BIGINT
(8 个字节),除非您期望拥有超过 40 亿个东西(INT UNSIGNED - 4 个字节 - 最多 40 亿个)。
如果您想要 mysqltuner 提供的更多分析,请向我提供 SHOW VARIABLES;
和 SHOW GLOBAL STATUS;
(在服务器至少启动一天后)。
回到主要问题...我看不出这个特定查询有任何错误的原因:
SELECT count(*) FROM table_name WHERE user_id = X
如果你EXPLAIN SELECT ...
,你会看到它会使用一个索引。 InnoDB 中的索引永远不会损坏。
你说5.6.25可能有问题。是的,总是有这样的机会。 (MySQL 因没有回归而享有盛誉,这肯定是。)请关注 bugs.mysql.com。在那里提交错误。考虑降级。
VARIABLES/STATUS分析
在设置中找不到很多:
( Key_reads ) = 6,589,434 / 520269 = 13 /sec -- MyISAM 索引读取(从磁盘)率
( Key_reads + Key_writes ) = (6589434 + 9617220) / 520269 = 31 /sec -- MyISAM 索引 I/O 速率
您正在大量使用 MyISAM; key_buffer_size
(8M) 应该增加到,比方说,100M。
( Created_tmp_disk_tables / (Created_tmp_disk_tables + Created_tmp_tables) ) = 247,145 / (247145 + 386918) = 39.0% -- 溢出的温度百分比 table到磁盘
-- 可能增加 tmp_table_size 和 max_heap_table_size;避免斑点等
( Select_scan ) = 1,745,605 / 520269 = 3.4 /秒 -- 完整 table 扫描
-- 添加索引/优化查询(除非它们很小 tables)
( Select_scan / Com_select ) = 1,745,605 / 5721646 = 30.5% -- 进行全面 table 扫描的选择百分比。 (可能会被Stored Routines愚弄。)
-- 添加索引/优化查询
( open_files_limit ) = 1,024 -- ulimit -n
-- 要允许更多文件,请更改 ulimit 或 /etc/security/limits.conf 或 sysctl.conf (kern.maxfiles & kern.maxfilesperproc) 或其他内容否则(OS 依赖)
(连接数)= 1,567,347 / 520269 = 3 /秒 -- 连接数
-- 增加wait_timeout;使用池化?
您的查询缓存已停用一半。您应该同时设置 query_cache_type = OFF 和 query_cache_size = 0 。有(根据谣言)QC 代码中的 'bug' 会保留一些代码,除非您关闭这两个设置。