mysql优化

Posted on 2018-10-22 11:32  打杂滴  阅读(91)  评论(0编辑  收藏  举报

varchar只分配真正的需要的空间

尽量使用timestamp而不是datetime

单表不要太多字段

避免null字段,很难优化且占用额外空间

用整形拍存放ip

select INET_ATON("192.168.10.152") ip转为整形
select INET_NTOA("3232238232") 整形转为IP

合理的索引,使用explain来查看是否用了索引

尽量避免where子句对字段进行null值判断否则引擎会放弃使用索引进行全表扫描,尽量不要使用!=或者<>操作,否则会全表扫描

值分布稀少的字段不适合建索引

字符字段只建前缀索引,避免使用%***式的查询

字符字段最好不要做主键

 

myisam 引擎不支持行锁,不支持外键,不支持事务,不支持崩溃后完全恢复,支持查询同时往表里插入新记录。支持压缩表

innodb 引擎为默认引擎,支持行锁.事务.外键,支持崩溃后完全恢复。

总体来说,myisam适合做select,innodb适合密集insert和update

 

Copyright © 2024 打杂滴
Powered by .NET 9.0 on Kubernetes