mysql 优化工具
explain profiling
建议提供以下信息
show table status like 'audit';
show create table audit;
show index from audit;
check table audit;
analyze table audit;
analyze 并不检查表是否有问题,只是重新分析一下键的分布情况。
check table/ repaire table 是检查和修复的语句
show profiles;
show profile all for query 1\G
sky@sky:~$ mysqlslap --create-schema=example --query="SELECT * FROM group_message force
index(group_message_author_subject) WHERE author = '3' subject LIKE 'weiurazs%'" --
iterations=10000
Benchmark
Average number of seconds to run all queries: 0.017 seconds
Minimum number of seconds to run all queries: 0.010 seconds
Maximum number of seconds to run all queries: 0.027 seconds
Number of clients running queries: 1 SELECT * FROM [TABLE] FORCE INDEX (myindex2) WHERE [column1] = [value1] AND [column2] = [value2] ORDER BY [id] DESC LIMIT0, 10;
insert ignore into
当我们想用SQL_NO_CACHE来禁止结果缓存时发现结果和我们的预期不一样,查询执行的结果仍然是缓存后的结果。其实,SQL_NO_CACHE的真正作用是禁止缓存查询结果,但并不意味着cache不作为结果返回给query。
mysql快速添加百万条记录的语句:
使用Insert Select语句插入记录时,必须遵循以下原则。
用Select语句选择数据时,不能从被插入数据的表中选择行。
指定插入的表后所包含的字段数目必须与Select语句中返回的字段数目相同。
指定插入的表后所包含的字段数据类型必须与Select语句中返回的字段数据类型相同或系统可以自动转换。
INSERT INTO ler_items( classid, title, address, zipcode )
SELECT classid, title, address, zipcode
FROM ler_items
使用上面的SQL语句,可以在很短的时间内将ler_items表添加百万记录,用于数据库的测试很有帮助
进入命令行,windows cmd,连接:
mysql -u 用户名 -p密码 -h 服务器IP地址 -P 服务器端MySQL端口号 -D 数据库名
注意:
(1)服务器端口标志-P一定要大些以区别于用户-p,如果直接连接数据库标志-D也要大写;
(2)如果要直接输入密码-p后面不能留有空格如-pmypassword;
(3)命令结束段没有';'分号。
例子:
mysql -u lzpddd -pmypassword -h 192.168.1.88 -P 3306 -D mydb
D:\wamp\bin\mysql\mysql5.1.33\bin>mysql -u wbcloud -pwbcloud123 -h 192.168.1.156
-P 3306 -D linksus_cloud3
posted on 2014-08-07 22:52 andydaopeng 阅读(258) 评论(0) 编辑 收藏 举报