当前位置: 首页 > news >正文

数据库研发规范

  1. 表设计
    1. 存储引擎:没有特殊情况,尽量选择InnoDB引擎。
    2. 数据类型:尽量选择短小的数据类型,执行速度会更快。
    3. 垂直切分:冷热数据分离,保证主表的访问速度。
    4. 字段冗余:适当冗余字段,减少表连接。
    5. 图片存储:不要在库中存储图片数据。
    6. 表字符集:选择utf8类型。

  1. 索引
    1. 索引数量:单表索引个数尽量控制在5个以内。
    2. 索引大小:复合索引的字段个数不要超过5个。
    3. 避免重复:复合索引可发挥作用的就不要再单独建索引,譬如建立了(a,b,c),相当于建立了(a),(a,b),(a,c),(b,c)。
    4. 避免失效
      1. 字段值中的NULL值会导致索引失效。
      2. 模糊匹配百分号前置会导致索引失效,譬如LIKE “%aa”。
      3. 负向查询会导致索引失效,譬如<>、!= 、not in 、not exist。
      4. 内置函数或表达式会导致索引无效,譬如where score-10 > 60、where abs(x) > 10。
      5. 强制转换数据类型会导致索引无效,譬如where userid=34987576。
      6. 复合索引中的第一个字段没有出现在条件语句中,会导致索引无效。
      7. JOIN的字段类型不一样,会导致索引无效。
    5. 适合与否
      1. 不建议在频繁更新的字段上创建索引。
      2. 对于数据值类型很少的字段不适合索引,譬如性别。
      3. 对于text、bit数据类型的字段不适合索引。

  1. SQL语句
    1. 减少检索量
      1. 避免使用select *,select count(*)。
      2. 避免设置limit的offset,减少检索量。
    2. 怎样连接好
      1. 用INNER JOIN替换LEFT JOIN,因为INNER JOIN比LEFT JOIN效率高。
      2. 用UNION ALL替换UNION,因为UNION 会去重和排序,效率低。
    3. 避免临时表
      1. 利用索引,如果不能使用索引,数据库会创建临时表用于排序。
      2. 垂直切分,将长字段,如TEXT、BLOG,拆分到单独的表存储。
      3. 避免去重,能不去重,就别用DISTINCT;能用UNION ALL,就别用UNION。
    4. 避免子查询:用JOIN替换子查询,因为连接比子查询更快。
    5. IN值不宜多:IN包含的值不宜过多,建议少于100个。
    6. 预编译好处:预编译可提高性能,而且可以防止SQL注入。

  1. OLAP
    1. 冗余数据:冗余数据可以让查询执行更快,虽然冗余数据可以由其他列获得或推断得出。
    2. 缓存表:利用缓存表存储查询结果,提升查询效率。
    3. 预计算:预先对一些大查询生成汇总表。

  1. 命名
    1. 表命名
      1. 大小写:库名、表名一律小写。
      2. 分隔符:用下划线分隔。
      3. 限长度:库表名最大长度不要超过32字符。

    1. 索引命名
      1. 普通索引:idx_字段名
      2. 复合索引:idx_字段名1_字段名2_字段名3
      3. 唯一索引:uqi_字段名
http://www.dtcms.com/a/525278.html

相关文章:

  • esp-idf 最简操作
  • 专业网站建设设计服务开发公司五一节前安全生产工作部署会
  • PY32F040单片机介绍(4)
  • 网站建设氵金手指下拉十三北京专业网站翻译影音字幕翻译速记速记速记速而高效
  • Qualcomm SNPE(Neural Processing SDK)集成到 OpenWRT + QCS6490 的完整配置后续
  • 多平台终端模拟器
  • wordpress建站网站根目录百度竞价托管一月多少钱
  • wordpress如何仿站wordpress文件夹改名
  • kotlin中的let的使用
  • 计算机视觉领域应用了模块缝合思想的经典模型
  • Kubernetes Calico 网络故障排查与修复:RBAC 权限问题完整解决记录
  • Orleans 客户端与 Silo 配置方式深度分析
  • RecyclerView设置空布局
  • 如何看网站空间问题开发网站公司
  • 广州网站设计开发招聘泰兴中信建设有限责任公司
  • 石家庄seo网站建设云南省科技网站
  • 基于单片机的恒流源三极管放大倍数测量仪设计
  • 如何解除 iPad 和 iPhone 文本消息的关联?
  • 乔智云智能建站软件开发培训视频
  • 网站建设有哪些推广渠道做违法网站会怎么样
  • 多少钱算网站常州网站建设哪家便宜
  • 郑州企业网站建设费用策划公司起什么名字好
  • KTH1701 系列高性能、低功耗、全极磁场检测霍尔开关传感器
  • LeeCode 143. 重排链表
  • 1024节日?
  • 云图-地基云图-云层分割
  • 网上做论文的网站c网站开发
  • 递归|模拟
  • 站长之家统计广告设计制作税率
  • Linux环境下编译C语言使用libpq连接瀚高数据库