目录

  • 表优化
    • 数据类型的选择
      • 避免列的值为NULL
      • VARCHAR和CHAR
      • 日期和时间类型
    • 选择标识符(主键)的类型
    • 错误的表结构
      • 一张表中有太多列
      • 太多的关联
    • 适当建立冗余数据
      • 混用范式和反范式
      • 建立缓存表和汇总表
    • 参考

表优化

此文章用于记录《高性能MySQL》一书的知识点。

数据类型的选择

选择标识符(主键)的类型

在满足足够的范围需求,并且预留未来增长空间的前提下,应选择最小、最简单的数据类型

  • 整数通常是标识列最好的选择,因为整数不仅快而且可以使用自增等特性
  • 应避免使用字符串作为标识列
    • 原因:
    1. 字符串更消耗空间,同时比较时比数字类型慢
    2. 随机的字符串如:MD5、SHA1或者UUID,插入新数据时会随机地插入到索引的不同位置,导致页分裂、磁盘随机访问。

错误的表结构

适当建立冗余数据

参考

《高性能的MySQL》

MySQL优化(一):表结构优化相关推荐

  1. mysql 优化表_mysql里sql优化和表结构优化

    开启慢查询日志 计入sql show variables like 'slow_query_log';//慢查询查看状态 OFF未开启 ON开启 show variables like '%log%' ...

  2. mysql 结构优化建议_MySQL优化之表结构优化的5大建议(数据类型选择讲的很好)...

    殊不知,在N年前被奉为"圣经"的数据库设计3范式早就已经不完全适用了.这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用. 由于MySQL数据库是基于行(Ro ...

  3. mysql性能调优与架构设计 51cto_MySQL 数据库性能优化之表结构优化

    很多人都将 数据库设计范式 作为数据库表结构设计"圣经",认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求.殊不知,在N年前被奉 ...

  4. mysql 大表更新数据类型_MySQL优化之表结构优化的5大建议(数据类型选择讲的很好)...

    殊不知,在N年前被奉为"圣经"的数据库设计3范式早就已经不完全适用了.这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用. 由于MySQL数据库是基于行(Ro ...

  5. java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解

    摘要:这篇MySQL栏目下的"MYSQL数据库表结构优化方法详解",介绍的技术点是"mysql数据库表结构.MySQL数据库.数据库表结构.MySQL.据库表结构.数据库 ...

  6. SQL巩固以及数据库、表结构优化

    SQL巩固&数据库.表结构优化 前言 对于初级程序开发工程师而言,SQL是很多人的弱项,为此我给大家来做一下总结,希望能够帮到你们. 课程说明 1.介绍项目实战开发过程中常用的MySQL函数及 ...

  7. MySQL分库分表和优化

    第九阶段模块三 分库分表技术之MyCat 1.海量存储问题 1.1 背景描述 随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无 ...

  8. mysql导出oracle_如何将mysql中的表结构导出放入oracle中

    展开全部 将mysql中的表结构导出放入oracle中的方法: 1.导出mysql的表结构sql脚本,然后修改mysql中的数据类型为oracle中的数据类型: MySql与Oracle数据类型的62 ...

  9. MYSQL的修改表结构SQL语句

    MYSQL的修改表结构SQL语句: -- 查看创表语句 SHOW CREATE TABLE t_login; -- 查看表结构 desc t_login1; -- 增加列 ALTER TABLE t_ ...

最新文章

  1. php 腾讯云实时音视频,腾讯云视频 -实时音视频学习日志
  2. oracle给每行加上序号,Oracle 根据分类字段给查询结果添加序号
  3. 详细讲解Java中log4j的使用方法
  4. 软件测试菲律宾,英雄联盟手游菲律宾测试资格怎么得 菲律宾测试资格获取攻略[多图]...
  5. C. Jon Snow and his Favourite Number DP + 注意数值大小
  6. ubuntu16.04更改python版本
  7. Caffe中如果高效实现卷积层
  8. 细数嵌入式开发与通用系统开发的不同
  9. python随机函数random要导入哪个包_python学习之随机函数random
  10. win32开发(图形绘制)
  11. Linux下DNS服务器的基本搭建
  12. 14个非常有用的jquery技巧,注意事项和最佳实践
  13. 软路由硬件, 研究了一圈还是J1900 , i211网卡又如何
  14. 利润分配计算机公式,利润与利润分配表计算公式大全
  15. 【强化学习】动态规划
  16. 【CSDN英雄会】黄帅:安全不是独行侠而是系统性的运维过程
  17. ROS 清理log文件
  18. MayaToUE4之影视动画制作流程
  19. 反击爬虫,前端工程师的脑洞可以有多大?
  20. mac 使用launchctl 开机时加速vim、emacs

热门文章

  1. 牛客挑战赛47 C 条件(Floyd bitset优化)
  2. AGC038D - Unique Path(建图)
  3. Educational Codeforces Round 107 (Rated for Div. 2)
  4. 人工智能——图像分析第二期练习
  5. 【每日一题】8月17日题目精讲-[SCOI2009]生日礼物
  6. YBTOJ:卖猪问题(网络流)
  7. 【做题记录】统计区间(哈希/扫描线)
  8. #6029. 「雅礼集训 2017 Day1」市场(势能,区间除)
  9. codeforces1451 D. Circle Game
  10. K8S Learning(4)——Namespace