- 论坛徽章:
- 0
|
继续问问题
key_buffer_size只对MyISAM表起作用
key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。一般我们设为16M,实 际上稍微大一点的站点 这个数字是远远不够的,通过检查状态值Key_read_requests和 Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,使用SHOW STATUS LIKE ‘key_read%’获得。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
mysql> show status like '%Key_read%';
+-------------------+----------+
| Variable_name | Value |
+-------------------+----------+
| Key_read_requests | 28304574 |
| Key_reads | 28304574 |
+-------------------+----------+
2 rows in set (0.00 sec)
mysql>
我这两个数比值一直都是1
key_buffer_size 我开始这是256
后来设置512
现在设置1024
靠 居然还是 这样
咨询下是怎么回事呢?
mysql> show variables like 'key_%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| key_buffer_size | 0 |
| key_cache_age_threshold | 0 |
| key_cache_block_size | 0 |
| key_cache_division_limit | 0 |
+--------------------------+-------+
4 rows in set (0.00 sec)
为什么我设置的key_buffer_size 为0???????????????
但是 mysqld --help --verbose中显示确实正常的 怎么回事呢??
key_buffer_size 1073741824
key_cache_block_size 1024
key_cache_division_limit 100
key_cache_age_threshold 300
long_query_time 10
lower_case_table_names 0
max_allowed_packet 2096128
max_binlog_cache_size 4294967295
max_binlog_size 1073741824
max_connections 500
max_connect_errors 10
max_delayed_threads 20
max_error_count 64
-
- # The MySQL server
- [mysqld]
- port = 3036
- socket = /opt/mysql/var/mysql.sock
- skip-locking
- back_log = 100
- key_buffer = 1024M
- max_allowed_packet = 2M
- table_cache = 1024
- sort_buffer_size = 2M
- read_buffer_size = 2M
- read_rnd_buffer_size = 8M
- myisam_sort_buffer_size = 64M
- thread_cache = 8
- query_cache_size= 32M
- max_connections = 500
- open_files_limit = 4096
- wait_timeout = 28800
- skip-name-resolv
- # Try number of CPU's*2 for thread_concurrency
- thread_concurrency = 8
-
复制代码
每天努力学习中。。。
[ 本帖最后由 aaronvox 于 2006-7-26 11:02 编辑 ] |
|