MySQL优化

    xiaoxiao2021-12-14  19

    本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/MySQL优化/

    为查询缓存优化你的查询NOW() 和 RAND()等函数会导致MySQL关闭查询缓存,应避免这种操作,用其他表达替代。EXPLAIN 你的 SELECT 查询select查询操作的具体过程细节,分析查询过程中可能的多于操作,从而修改SQL语句进行优化。当只要一行数据时使用 LIMIT 1查询到第一条符合条件立即停止搜索,省去查询后面的无用记录的耗时为搜索字段建索引在Join表的时候使用相同类型的列,并将其索引千万不要 ORDER BY RAND():随机数耗资源避免 SELECT *:占内存,分布式的话还占带宽永远为每张表设置一个ID:主键最好是int自动增长,效率高使用 ENUM 而不是 VARCHAR:民族、性别、国家这种有限子串的用枚举,效率高从 PROCEDURE ANALYSE() 取得建议:MySQL的根据表中数据提供的优化建议尽可能的使用 NOT NULLPrepared Statements:预编译、批处理、防SQL注入(不支持查询缓存)把IP地址存成 UNSIGNED INT,匹配快固定长度的表会更快垂直分割:把表中不常用的列分到另外的表中拆分大的 DELETE 或 INSERT 语句:(锁表)越小的列会越快选择正确的存储引擎:MyISAM(适用于查询多修改少,表锁)和InnoDB(行锁,事务,适合写)使用一个对象关系映射器(Object Relational Mapper):(延迟加载)小心“永久链接”:数据库连接对象维护(及时关闭连接或连接池对连接对象的重用)

     

    参考博客:http://coolshell.cn/articles/1846.html

    本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/MySQL优化/

    转载请注明原文地址: https://ju.6miu.com/read-971991.html

    最新回复(0)