Mysql数据库管理系统优化方案
日期:2007年9月18日 作者: 查看:[大字体 中字体 小字体]-
首先,为了使一个系统更快,最重要的部分就是基础设计,不过有些东西是现有情况下无法逾越的,比如说系统常见的瓶颈.
我所能想到的:
1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者把数据分散存储.
2:硬盘的读写速度,这个速度非常的快,这个更容易解决--可以从多个硬盘上并行读写.
3:cpu.cpu处理内存中的数据,当有相对内存较小的表时,这是最常见的限制因素.
4:内存的限制.当cpu需要超出适合cpu缓存的数据时,缓存的带宽就成了内存的一个瓶颈---不过现在内存大的惊人,一般不会出现这个问题.
第二步: (本人使用的是学校网站的Linux平台(Linux ADVX.Mandrakesoft.com 2.4.3-19mdk ))
1:调节服务器参数
用shell>mysqld-help这个命令声厂一张所有mysql选项和可配置变量的表.输出以下信息:
possible variables for option--set-variable(-o) are:
back_log current value:5 //要求mysql能有的连接数量.back_log指出在mysql暂停接受连接的时间内有多少个连接请求可以被存在堆栈中
connect_timeout current value:5 //mysql服务器在用bad handshake(不好翻译)应答前等待一个连接的时间
delayed_insert_timeout current value:200 //一个insert delayed在终止前等待insert的时间
delayed_insert_limit current value:50 //insert delayed处理器将检查是否有任何select语句未执行,如果有,继续前执行这些语句
delayed_queue_size current value:1000 //为insert delayed分配多大的队
flush_time current value:0 //如果被设置为非0,那么每个flush_time 时间,所有表都被关闭
interactive_timeout current value:28800 //服务器在关上它之前在洋交互连接上等待的时间
join_buffer_size current value:131072 //用与全部连接的缓冲区大小
key_buffer_size current value:1048540 //用语索引块的缓冲区的大小,增加它可以更好的处理索引
lower_case_table_names current value:0 //
long_query_time current value:10 //如果一个查询所用时间大于此时间,slow_queried计数将增加
max_allowed_packet current value:1048576 //一个包的大小
max_connections current value:300 //允许同时连接的数量
max_connect_errors current value:10 //如果有多于该数量的中断连接,将阻止进一步的连接,可以用flush hosts来解决
max_delayed_threads current value:15 //可以启动的处理insert delayed的数量
max_heap_table_size current value:16777216 //
max_join_size current value:4294967295 //允许读取的连接的数量
max_sort_length current value:1024 //在排序blob或者text时使用的字节数量
max_tmp_tables current value:32 //一个连接同时打开的临时表的数量
max_write_lock_count current value:4294967295 //指定一个值(通常很小)来启动mysqld,使得在一定数量的write锁定之后出现read锁定
net_buffer_length current value:16384 //通信缓冲区的大小--在查询时被重置为该大小
query_buffer_size current value:0 //查询时缓冲区大小
record_buffer current value:131072 //每个顺序扫描的连接为其扫描的每张表分配的缓冲区的大小
sort_buffer current value:2097116 //每个进行排序的连接分配的缓冲区的大小
table_cache current value:64 //为所有连接打开的表的数量
thread_concurrency current value:10 //
tmp_table_size current value:1048576 //临时表的大小
thread_stack current value:131072 //每个线程的大小
wait_timeout current value:28800 //服务器在关闭它3之前的一个连接上等待的时间
根据自己的需要配置以上信息会对你帮助.
第三:
1:如果你在一个数据库中创建大量的表,那么执行打开,关闭,创建(表)的操作就会很慢. 2:mysql使用内存
a: 关键字缓存区(key_buffer_size)由所有线程共享
b: 每个连接使用一些特定的线程空间.一个栈(默认为64k,变量thread_stack),一个连接缓冲区(变量net_buffer_length)和一个结果缓冲区(net_buffer_length).特定情况下,连接缓冲区和结果缓冲区被动态扩大到max_allowed_packet.
- [1] [2] [3] [4] 下一页
-
- Mysql数据库管理系统优化方案 相关文章:
- ·Mysql数据库管理系统优化方案
- Mysql数据库管理系统优化方案 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·精妙SQL语句收集
- ·SQLPLUS命令的使用大全
- ·收集的host文件网站黑名单
- ·数据库连接字符串大全
- ·SQL Server 练习题
- ·SQL中CASE的用法
- ·认识VF--Visual FoxPro 漫谈
- ·什么是SQL注入法攻击
- ·一道褒贬不一的SQL考试题
- ·学习SQL语句之SQL语句大全
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·SQL数据库高级教程:SQL UNION 和 UNION ALL
- ·SQLSERVER中,数据库同步的实现
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·MySQL管理工具SQLyog最新6.1下载
- ·“SQL Server不存在或访问被拒绝”问题的解决
- ·学习SQL SERVER的存储过程-之一认识存储过程语法
- ·如何删除数据库中的冗余数据(翻译)
- ·数据库物理设计经验谈
- ·MySQL数据库学习手册之MySQL客户工具和API
特别推荐
- ·什么是SQL注入法攻击
- ·用SQL语句删除重复记录的四种方法
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
- ·DM分区软件使用详解
- ·对ADSL接入方式铜缆可用线对率分析
- ·收集的host文件网站黑名单
- ·修复SQL Server 2000数据库之实战经验
- ·实用的存储过程之一
- ·IIS5 ISAPI Extension Back Door
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·Sql server 如何得到汉字的声母
- ·数据库物理设计经验谈
