易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL性能优化TIPS

一. 启动参数优化
修改 my.cnf (或者my.ini),加入/修改以下几行
#设定缓存的连接数,节省连接时的开销
back_log = 64
#禁用文件系统外部锁
external-locking = 0
#禁用BDB,如果你确实不需要的话,innodb也是如此
skip-bdb
#索引缓冲,如果是专用的数据库服务器,可以设置高达服务器内存的一半,如果不是专用的,
#还是设置得低一点
key_buffer = 512M
#缓存数据表数量,如果内存较大,可以设置稍微高一点,否则还是设置低一点
#设置这个参数可以参见系统状态中的 open_tables(表示当前打开的数据表总数)
#和 opened_tables(表示所有打开的数据表总数)
table_cache = 128
#禁用dns解析,如果你的授权信息中采用dns授权方式了,就不能启用该选项
skip-name-resolve
#记录慢查询和没有使用索引的查询,便于帮助分析问题所在
long_query_time = 1
log-slow-queries = /usr/local/mysql/data/slow.log
log-queries-not-using-indexes
其他参数诸如 sort_buffer_size,net_buffer_length,read_buffer_size,read_rnd_buffer_size,myisam_sort_buffer_size,
thread_cache_size,query_cache_size,max_binlog_cache_size 等请查询MySQL手册,然后做出合适的调整.
二. 其他小TIPS
针对Innodb表,尽量不执行 SELECT COUNT(*) 语句,因为Innodb表没有类似MyISAM那样的内部计数器来记录表记录总量,执行这个操作将会全表扫描,速度很慢.
尽量使用MyISAM表,除非必须使用其他类型,因为MyISAM类型的总体读写效率是相当高的,缺点是表级锁,而不是行/页级锁.
善用 EXPLAIN来帮助你分析查询优化情况
如果需要对一个较大的且并发读写较多的数据表做 GROUP BY 等统计操作,建议使用摘要表来存储统计信息,定期更新统计表,这可能获得很大的性能改善.
查询时如果有 ORDER BY分句的话,注意让它的字段顺序和索引字段顺序对应,这样能加快排序速度
如果有一个多字段索引,则查询时,必须按照索引顺序来使用,否则该索引不会用到.例如:
索引 `idx_`(col1, col2, col3),那么查询 SELECT .... from ... WHERE col1=1 AND col2=2; 使用索引,而查询 ... WHERE col2=2 AND col3=3; 或 ... WHERE col1=1 AND col3=3; 则不使用索引.
WHERE 中的条件如果有恒量类型的(如 `field` = 1),就尽量放在前面,这样能更快的执行过滤.
2 个表连接时,连接字段的类型最好一致(包括字段长度),这样的话索引速度快多了.
大部分情况下,字符类型的字段索引值需要一部分,例如 CREATE INDEX


相关文档:

MySQL修改密码方法总结

首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数。 方法二使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个 ......

MySQL连接时快时慢的问题解决

 my.ini里的那个tmp_table_size的值.原来tmp_table_size=16M.我改为32M
然后重启MYSQL还是没解决问题.
只好重启服务器试试了,结果重启后CPU正常了.不过还是没找出是什么原因导致MYSQL占用那么多CPU资源.
=====================================
修改hosts文件,加入一行   
172.16.59.12   & ......

通过分区(Partition)提升MySQL性能

 
通过分区(Partition)提升MySQL性能
作者:foxcai 来源:foxcai 的 Blog (2006-05-08 14:30:34)
通过分区(Partition)提升MySQL性能
               ——MySQL5.1新特性翻译系列
几年前,俺写过一篇题为“The Founda ......

重新找到MySQL数据库的root密码

 Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
shell>mysqld_safe --skip-grant-tables &
4.为root@localhost设置新密码
shell>mysqladmin -u root flush-privileges password "newpassword" ......

MySQL 5.4的新特性解析

Author: Ivan@mysqlab.net/谭俊青 转载请注明来源URI链接:
http://www.mysqlab.net/blog/2009/04/mysql-54的新特性解析/
MySQL 5.4 之所以命名为5.4,而不是5.2 是因为之前的5.2版本被命名为6.0了(这个应该是商业上的原因,就像java1.6被命名为6.0)。现在的5.4 preview release 是在当前MySQL5.1的基础上,对 Innodb 进 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号