mysql笔记

当key_cache_miss_rate(key_reads/key_read_requests*100%) 大于1%时需要增加 key_buffer_size (show global status like 'key_read')

对于MyISAM 需要注意table_cache的设置 当这个不够用时MYSQL会采用LRU算法踢掉最长时间没使用的表,过小时,会反复打开关闭造成性能损失。过大 会消耗很多CPU 可以参考opemed_tables参数的值 一直增长就适当增加值

对于InnoDB 需要重点注意 innodb_buffer_pool_size参数

从表中删除大量行后,可运行OPTIMIZE TABLE TableName进行碎片整理

理论上,当MYSQL单表数据到达1000万条之后不管怎么优化sql语句还是会对性能有影响 ORACLE则是2亿

show variables like '%partition%';查看是否支持分区

alter table 表名 add partition(paratition 分区名 values 条件) DROP删除
分区后不支持外键 ,一个表最多1024个分区,使用分区最好不要使用主键否则影响性能,使用分区可能会使索引失效

分表(垂直分表,水平分表)之后对查询、分页和统计会遇到问题 通用方法是在程序中进行处理辅助视图

创建视图,MYSQL的只是一个虚拟表,只包含定义而不含有任何数据。

可以用一个简单的视图查询来代替冗长的SQL如果是Oracle还可以在视图中存放真的数据加快查询速度。

性能优势在Mysql中不存在,但是在Oracle等商业数据库中,视图支持更多的特性。、

转载于:https://www.cnblogs.com/jerrydailyphp/p/10461696.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值