zoukankan      html  css  js  c++  java
  • 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)或%开头的模糊查询,这样会导致无法命中索引 而进行全表扫描

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

  • 相关阅读:
    [JSOI2015]最小表示
    [洛谷2002]消息扩散
    [洛谷1726]上白泽慧音
    [CodeVS2822]爱在心中
    [POJ2186]Popular Cows
    [洛谷1991]无线通讯网
    [CQOI2009]跳舞
    [洛谷1342]请柬
    [USACO07JAN]Balanced Lineup
    [NOIp2003提高组]神经网络
  • 原文地址:https://www.cnblogs.com/lufei33180/p/14240099.html
Copyright © 2011-2022 走看看