php-数据库优化

作者: 焚_44b3 | 来源:发表于2019-04-24 18:02 被阅读0次

    获取数据库的实时状态

    mysql status;
    

    正确使用索引

    • 对整个表不使用索引直接去搜索相关的内容称:全表索引;
    • 对于like模糊匹配查询,索引并不能起大多作用。尽量少使用like去查询。
    • 一次查询对于一个数据表只能使用一个索引,同个字段同时建立索引,多字段同时查询并不能起叠加效果,这时候就要用到组合索引啦。
    • explain 命令获取 select 语句的执行计划,通过 explain 我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。
    • 能使用联合索引的地方可以使用联合索引
    • 联合索引,order by ,group by都遵循最左前缀查询
    • 根据慢查询(需要在my.ini中配置相关设置)记录查询时间比较大的sql语句,并且优化他。
    • 索引会占用更大的磁盘空间,甚至比我们数据表还大。
    • 锁机制是影响数据库查询的一个重要原因。
    • 适当使用行锁,而不是锁定整个表。当然行锁也有缺陷,这不做 讨论。
    • 正确的使用查询缓存,也能提高mysql效率。
    • 反范式化设计。这个比较常用。比如一张门磁卡,用户表,如果一个用户一张卡,那么就把用户和卡写到一个表里。
    • 放弃关系型数据库。比如redis

    相关文章

      网友评论

        本文标题:php-数据库优化

        本文链接:https://www.haomeiwen.com/subject/zfaibqtx.html