• mysql 军规政策


    一、int(1) 和int(11) 都是占用四个字节大小的空间,1 和11 只是列的显示宽度,id int(3) zerofill 不足3位左侧以0补充,所以最好在数据定义的时候选择合适的数据类型,比如可以选择使用TINYINT 类型,只占用一个字节的空间,范围为-127~128

    二、不在数据库层做运算,如一些定时任务,可以加在代码的业务逻辑层

    三、数据库列的定义不要超过20列

    四、单个表的数据行不要超过1000万行

    五、varchar 类型是可变长度,一般会设置最大varchar(255) ,没有用完也不会浪费,但是不固定长度会带来其他问题,比如读取效率问题,mysql 无法按照偏移量计算下一条数据的位置,所以查询效率降低

    六、不在数据库里存图片

    七、避免使用NULL 字段,竟可能的使用 not NULL

    八、少用text/blob

    九、覆盖记录条数过多不适合建立索引,如性别

    十、改善查询,减慢更新

    十一、字符字段必须建立前缀索引

    十二、不用外键,请用程序控制约束

    十三、不用select * 消耗cpu 内存 带宽

    十四、or 改写为in or的时间复杂度为n in 为log n

    十五、不建议在频繁更新的字段上建立索引

    十六、禁止在where 后面使用函数或表达式 ,这样会导致无法命中索引 而进行全表扫描

    十七、禁止负向查询 (!=2)或%开头的模糊查询,这样会导致无法命中索引 而进行全表扫描

    十八、注意不要过多使用索引,否则对表的更新效率有很大影响,因为要花费大量时间来创建索引

  • 相关阅读:
    微服务治理istio
    基于Kubernetes构建Jenkins微服务发布平台
    gitlab
    微服务链路监控系统-Pinpoint
    Ceph Dashboard Promethus+Grafana监控
    kubernetes使用ceph存储
    ceph日常运维管理
    ceph-mimic版
    kubernetes集群网络
    Helm v3
  • 原文地址:https://www.cnblogs.com/lufei33180/p/14240099.html
Copyright © 2020-2023  润新知