单表goods,260w数据(数据还在增加),key_buffer_size目前为8mb,感觉好像少了
服务器内存2G,key_buffer_size大概设置多少比较合适
key_reads,key_read_requests 用show variables;没看到
服务器内存2G,key_buffer_size大概设置多少比较合适
key_reads,key_read_requests 用show variables;没看到
解决方案 »
- 如何选取数据库中有相同部分的表填冲到dropdownlist
- 菜鸟求助,关于数据的查询的SQL,急求~~
- 利用OUTFILE来操作数据库
- 关于mysqlbinlog 生成 sql 文件中有乱码。数据存入时是用utf-8 编码。
- MySql中文奇特乱码的问题,请高手指点,试过了好多方法还是不行。急
- ADO导出的数据集可否除了用ADOTable1->FieldByName("KEY")->Value获得表中数据,还有其他办法吗?
- mysql中如何找到数据库的长度?
- mysql 的 like ??
- 加了索引后发现更新很慢 貌似查询偶尔也有点慢
- 关于两表连接问题sql 如何形成新表
- 急求帮忙 loongson下安装lamp
- 请问大家在工作中都用的是什么mysql客户端工具?
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Key_read_requests | 0 |
| Key_reads | 0 |
+-------------------+-------+
2 rows in set (0.00 sec)mysql>
mysql> show table status like 'tb_yes'\G
*************************** 1. row ***************************
Name: tb_yes
Engine: MyISAM
Version: 10
Row_format: Fixed
Rows: 1
Avg_row_length: 7
Data_length: 7
Max_data_length: 1970324836974591
Index_length: 1024
Data_free: 0
Auto_increment: NULL
Create_time: 2009-11-16 16:40:33
Update_time: 2009-11-16 16:40:46
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)mysql>
*************************** 1. row ***************************
Name: tb_goods
Engine: MyISAM
Version: 10
Row_format: Dynamic
Rows: 2602290
Avg_row_length: 10563
Data_length: 27489561580
Max_data_length: 281474976710655
Index_length: 213012480
Data_free: 0
Auto_increment: NULL
Create_time: 2009-11-15 15:17:05
Update_time: 2009-11-17 14:04:13
Check_time: 2009-11-15 17:19:48
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
key_buffer_sizeO表示索引缓冲区的大小,严格说是它决定了数据库索引处理的速度,尤其是索引读的速度。根据网络一些高手写的文章表示可以检查状态值Key_read_requests和Key_reads,即可知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好,虽然我还没有找到理论的依据,但是,我在自己维护的几台实际运行良好的库做过的测试后表明,这个比值接近1:20000,这从结果证明了他们说这话的正确性,我们不妨用之。
mysql> show status like '%key_read%';
+-------------------+-------------+
| Variable_name | Value |
+-------------------+-------------+
| Key_read_requests | 13012196583 |
| Key_reads | 824810280 |
+-------------------+-------------+
2 rows in set (0.00 sec)
昏,我这里的比是1:15.78是key_buffer_size太小了吧?
你要知道key_buffer_size里面是放什么的,所以,意味着里面不单单是存放你这个表的索引了,从上面的信息看来,你单是这个表的索引就已经达到了200M左右了。另外,这个也不是短时间内就抓到这个准确值的,因为mysql服务刚启动时,肯定缓存里都得重新装,所以,这个效果值是运行一段时间后才能得到较好的体现。
像这些参数都是结果实际数据情况,跟踪一段时间慢慢分析调整达到最优效果的。