1.表名重命名:
rename tables push_online to push_online_1;
2.在使用OR子句时,sql语句数不走索引的,如下:
select * from file where rating = 'R' or rating = 'NC-17';
优化方法:
select * from file where rating = 'R' union select * from file where rating = 'NC-17';
3.mysql常用命令:
show [ global | session ] variables;
show status;
show session status;
show global status; --显示全集变量
show index from table_name;
show plugins;
show [full] processlist;
show engine innodb status; --
show binlog events [ in '<log_file>' ] [ from <pos> ] [ limit [<offset>,] <row count>]
show relaylog events [ in '<log_file>' ] [ from <pos> ] [ limit [<offset>,] <row count> ]
show slave hosts --显示slave的数量
4.OPTIMIZE TABLE:重建一个或多个表的数据结构。
用途:被频繁更新或删除的表会变的支离破碎,会出现不同程度的闲置空间或不理想的存储结构,导致表的性能下降,特别适用于可变长度字段的表
用法:
OPTIMIZE [ LOCAL | NO_WRITE_TO_BINLOG] TABLE <table_list>
支持的存储引擎:MyISAM & InnoDB.
5.监控日志文件方法:
show status like 'Innodb%log%';
6.监控缓冲池:
show engine innodb status;
show status like 'innodb%buf%';
Free buffers:空的可用于缓冲数据的缓冲段个数;
Modified pages:发生变化的页数;
Pending reads:等待中的读请求个数,应该维持在低水平;
Pending writes:等待中的写请求个数,应该维持在低水平。
Hit rate:成功访问缓冲区的请求个数与总请求个数之间的比例,这个幽会最好接近于1:1。
7.在主从架构中,最影响slave延迟于master的原因是:mater可以同时运行多个事条,而slave是单线程的,不管有多个个内核,同时只能运行一个事务。
其它影响slave延迟于master的原因:网络延时,长查询,磁盘读取I/O限制,锁竞争及InnoDB线程同步启动。
8.Innodb_thread_concurrency的运用:在多处理器及多个磁盘运行mysql时,把此参数的值设置为:处理器个数 + 独立磁盘个数可以提高系统性能(频繁使用INNODB时),默认值为0 。