2019独角兽企业重金招聘Python工程师标准>>>

定义合适的数据类型对Mysql性能提升非常重要

  1. IPV4地址的存储:IPV4地址,例如:127.0.0.1  =  10000000 00000000 00000000 00000001,实际上是一个32位的无符号整数,用小数点分隔开方便阅读,并不是字符串,所以存储时,应该使用unsigned int来存储。显示的时候用INET_ATON来转换成ip格式,更新或插入时使用INET_NTOA转换成整数插入。
  2. 时间的存储:很多人喜欢用INT来存储时间,实际上,这并不能带来任何性能上的提交;使用内置的DATETIME和TIMESTAMP更方便,因为Mysql内置的很多时间函数可以对时间进行处理。一般情况下,我们都尽量使用TIMESTAMP来存储时间,因为它只占用4个字节,而DATETIME占用8个字节,TIMESTAMP时间到2038年,足够用了。关于时间的比较应该使用整数的比较方式,例如下面两个SQL的执行效率,对于千万行的数据处理差距是巨大的。
    -- 取前一天的数据
    -- 高效的执行
    SELECT *
    FROMroom_match.view_shouji
    wherewritetime between
    now() - INTERVAL 1 day
    and now();-- 低效的比较
    SELECT *
    FROMroom_match.view_shouji
    where date(writetime) = "2013-12-15"

  3. 对确定类型的列使用ENUM,ENUM是表面显示为字符串,实际存储为整数的类型,使用 enum列名+0可以查看存储的整数值。使用性别,国家等固定的值可以使用。

转载于:https://my.oschina.net/ifeixiang/blog/339516

mysql数据类型优化相关推荐

  1. mysql 数值 字符 优化,教你如何进行Mysql数据类型优化

    1. 版本 1)操作系统版本 cat /proc/version Linux version 3.10.0-957.5.1.el7.x86_64 (mockbuild@kbuilder.bsys.ce ...

  2. MySQL查询过程及Scheme设计与数据类型优化

    MySQL查询过程 我们总是希望MySQL能够获得更高的查询性能,最好的办法是弄清楚MySQL是如何优化和执行查询的.一旦理解了这一点,就会发现:很多的查询优化工作实际上就是遵循一些原则让MySQL的 ...

  3. mysql表设计很多非常大的varchar_聊一聊数据库(MySQL)设计中的数据类型优化

    良好的逻辑设计和物理设计事高性能的基石,在进行数据库设计时,我们应该要考虑到未来将会执行的查询语句,这就需要对各种因素进行权衡.本文将会聊一聊数据库(MySQL)设计中有关数据类型优化的一些内容.以下 ...

  4. mysql字段优化_MySQL优化(1):字段的设计

    Web项目中,当Java或者Go等语言速度提升到瓶颈的时候,我们需要关心MySQL的优化 可以优化的方面有很多:设计表.负载均衡.读写分离.SQL语句优化等 (1)IP地址设计 例如我们需要存储IP地 ...

  5. MySQL 性能优化,优化设计及设计原则解读

    MySQL性能优化的目的 如何合理的设计数据库? 什么样的数据库设计才能给后期DBA优化提供基石? 数据库设计与程序设计的差异? 数据库设计早期优化 1. 关系明确(理清表之间的关系,可以通过冗余的方 ...

  6. mysql数据类型总结

    数据类型优化 1.尽量使用能正常存储数据的最小数据类型(更快.占用更少的磁盘.内存和cpu) 2.尽量使用简单类型.(如整型比字符操作代价低) 3.尽量避免使用NULL(能够通过加默认值设置not n ...

  7. MySQL性能优化速记

    MySQL性能优化速记http://www.bieryun.com/3064.html 总结自<MySQL 5.7从入门到精通(视频教学版)>刘增杰编著. 优化简介 MySQL数据库优化是 ...

  8. MySQL SQL优化

    前言 有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧. 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础. 优化目标 ...

  9. mysql union查询_一本彻底搞懂MySQL索引优化EXPLAIN百科全书

    MySQL逻辑架构介绍 日常在CURD的过程中,都避免不了跟数据库打交道,大多数业务都离不开数据库表的设计和SQL的编写,那如何让你编写的SQL语句性能更优呢? 先来整体看下MySQL逻辑架构图: M ...

最新文章

  1. 遍历 in java_Java script数组遍历for与for in的区别
  2. Java中JRE、JDK和JVM的区别
  3. VTK:几何对象之OpenVRCylinder
  4. SRV记录注册不成功的可能的原因
  5. 云联惠身份认证得多久_【转发扩散】你完成认证了吗?老来网APP也可以刷脸认证哦!...
  6. dataset__getitem___【小白学PyTorch】3.浅谈Dataset和Dataloader
  7. Redis哈希表总结
  8. linux调用线程函数,作为线程调用的C函数-Linux Userland程序
  9. 关键词组合工具_关键词的优化方法及搜索工具,亚马逊关键词处理
  10. 计算机视觉入门到实战教程
  11. CV LRO mission (LROC introduction)
  12. 北大MBA夫妇不满现有教育系统 携女隐居终南山
  13. UPC 黑熊过河(基本状态转移)
  14. 电子产品销售数据分析及RFM用户价值分析
  15. 华为办公协作与远程视频会议软件Link Now停止运营 请及时备份数据
  16. 如何预防恶意软件的攻击?10项防御措施来帮您!
  17. 计算机显示在屏幕上怎么取消,电脑显示屏显示的九宫格怎样取消掉
  18. 基于springboot+jsp的服装穿搭信息管理系统
  19. 822D My pretty girl Noora
  20. DBA需要掌握的技能和经验

热门文章

  1. IPropertySet接口
  2. 第22章:MongoDB-聚合操作--聚合管道--$out
  3. 2018-2019 1 20165203 实验五 通用协议设计
  4. FastJson/spring boot: json输出
  5. 在springBoot中配置web.xml中配置的servlet
  6. 您的浏览器没有获得Java Virtual Machine(JVM)支持。可能由于没有安装JVM或者已安装但是没有启用。请安装JVM1.5或者以上版本,如果已安装则启用它。...
  7. UWP_小说在线阅读器:功能要求与技术要求
  8. SQL Server 数据库查找重复记录的几种方法
  9. 如何写一个bootloader
  10. HDU 1715 大菲波数 (大数问题)