MySQL优化(一):表结构优化

目录

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

表优化

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

数据类型的选择

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

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

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

错误的表结构

适当建立冗余数据

参考

《高性能的MySQL》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos上安装redis

【README】 本文旨在阐述在linux上安装 redis 的步骤; 【1】具体步骤 step1) 把 redis 压缩包 上传到 /opt/software, 并解压 step2)打开 redis目录,执行 make, 若没有gcc编译器, 执行命令安装gcc&#…

设计模式之静态代理模式实战

转载自 设计模式之静态代理模式实战静态代理模式很简单,代理类和实现类都实现相同的接口,然后通过代理类来调用实现类的方法。如我们想保存用户信息之前打印用户信息,或者保存用户信息之后把这些信息缓存下来,即在运行方法前后插入…

pandas追加写入excel_[Excel]如果你爱Excel,请学好pandas

现在坐办公室的各种大小团体里,都会有一个“懂Excel的人”,可能那个人是团体里的一员,也可能是和这个团队关系比较好的一个热心人,但总之,你的身边会有这么一个人。如果你环顾四周也没发现,那可能你就是那个…

转:Redis 集群搭建详细指南

转自: https://www.cnblogs.com/mafly/p/redis_cluster.html 【README】 非常棒的一篇文章,感谢作者的分享; 先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公…

快速排序算法思想及实现

简介 快速排序是对冒泡排序的一种改进,是一种分治算法,时间复杂度为O(nlogn) 基本思想 先从数列中取出一个数作为基准数。分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。再对左右区间重复第二步&a…

作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO

转载自 作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VOPOJO、PO、DTO、DAO、BO、VO这些概念作为Java开发来说应该全部或者部分遇到过,作为架构师的你想必更是清楚这些概念在不同场景的应用。下面我逐一介绍一下,想必…

搭建redis集群

【README】 redis集群搭建有很多坑儿,注意; 【1】坑er 集合 坑儿1、 [ERR] Sorry, cant connect to node 192.168.163.203:6381 报错现场:执行如下命令新建集群,报错如下; /usr/local/redis-cluster/bin/redis-t…

怎么看cudnn的版本好_针对此次版本削弱,怎么用好嫦娥!

大招的费蓝 & 蓝量伤害比 (先把嫦娥的冷门知识点放置顶,干货感比较重要)嫦娥100%蓝时,所有造成的伤害均要2倍,蓝量每下降1%,伤害倍数就下降2%。即嫦娥在50%蓝的时候,伤害就不加倍了。嫦娥最…

设计模式(一):工厂方法

目录概括目的主要解决何时使用使用场景总结三种工厂模式的对比代码示例概括 定义一个用于创建对象的接口,让子类决定实例化哪一个类。使用特殊的工厂方法代替对于对象构造函数的直接调用(即使用 new运算符,工厂方法 使一个类的实例化延迟到其…

mysql查询优化explain命令详解

转载自 mysql查询优化explain命令详解mysql查询优化的方法有很多种,explain是工作当中用的比较多的一种检查方式。explain翻译即解释,就是看mysql语句的查询解释计划,从解释计划我们能很清楚的看到解释的语句有没有合理用到索引,扫…

sftp工具都有哪些_学霸们都在用哪些科研工具?

这是 社科学术圈 推送的第1677篇文章学者论文哪里找?论文怎么写?会用到哪些工具?本期将带来有助于提高论文写作效率的一些资料,包括OA论文、思路整理、词典类、制图工具类、文献生成类等方面。OA论文平台1. PMC(Pubmed Cenral)Pub…

redis集群搭建报错-(error) CLUSTERDOWN The cluster is down

【README】 最近搭建一个redis集群,参考博文 (https://www.cnblogs.com/mafly/p/redis_cluster.html) 对集群配置后,master, slave 也启动起来,但无法插入数据; 【1】报错信息; [r…

常用加密算法解析

转载自 常用加密算法解析 今天介绍下工作当中常用的加密算法、分类、应用。 1、对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。 分类…

双指针:88. 合并两个有序数组

题目链接 88. 合并两个有序数组 解题思路 一. 合并数组后排序&#xff0c;时间复杂度为O((nm)log(nm)) 代码&#xff1a; 快排详解 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {for(int im,j0;i<mn;i,j){nums1[i] nums2[j];}quickSor…

bmp180气压传感器工作原理_陕西压力传感器的工作原理信息推荐

压力传感器的工作原理应用广泛的是压阻式压力传感器&#xff0c;它具有极低的价格和较高的精度以及较好的线性特性。下面我们主要介绍这类陕西压力传感器。在了解陕西压力传感器时&#xff0c;我们首先认识一下电阻应变片这种元件。电阻应变片是一种将被测件上的应变变化转换成…

转-rsa加密算法

转自 阮一峰&#xff1b; http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 一、一点历史 1976年以前&#xff0c;所有的加密方法都是同一种模式&#xff1a; &#xff08;1&#…

设计模式之单例模式实践

转载自 设计模式之单例模式实践概念单例模式即一个JVM内存中只存在一个类的对象实例分类1、懒汉式 类加载的时候就创建实例 2、饿汉式 使用的时候才创建实例当然还有其他的生成单例的方式&#xff0c;双重校验锁&#xff0c;枚举和静态内部类&#xff0c;文中会有介绍实践懒汉式…

win7精简_低配电脑的福音:这款小众系统10GB+极限精简+不卡顿,比Win7还快!

自win7停服后&#xff0c;不少用户私信老毛桃&#xff0c;问win10哪个版本的系统好用。这让我怎么回答呢&#xff0c;不同的使用要求安装的系统不一样&#xff0c;但总的来说&#xff0c;世界上没有最完美的系统&#xff0c;只有最适合自己的系统。也有不少用户在评论win10各种…

快慢指针:141. 环形链表(判断是否存在环路)

题目描述 给定一个链表&#xff0c;判断链表中是否有环 题目链接 141. 环形链表 解题思路 使用快慢指针&#xff08;Floyd判圈算法&#xff09;&#xff1a;从链表的头部设置两个指针&#xff0c;p1的步长为1&#xff0c; p2的步长为2&#xff0c;同时向前走&#xff0c;如…

redis集群信息分析-cluster info-cluster nodes

【README】 本文po出 redis集群的节点信息&#xff0c;槽信息&#xff0c;以及字段含义 【1】集群信息 192.168.163.203:6380> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluste…