mysql优化

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

原文地址:https://www.cnblogs.com/playforever/p/9829156.html