1、MD5在MySQL数据库中的存储

  用CHAR(32)来存储MD5值是一个常见的技巧。如果你的应用程序使用VARCHAR(32),则对每个值得字符串长度都需要花费额外的不 必要的开销。这个十六进制的值可以使用UNHEX()和HEX()函数来存储在BINARY(16)在BINARY(16)数据类型的中且更为高效。用这 种转换可以让每行占用的存储空间从32字节减少到16字节。

  下面的示例展示了原始MD5以及压缩后的MD5占用的空间对比:

  这个原则也适用其他16进制的值,例如为所有列的散列值而定义的索引时。

2、IP地址在MySQL中的存储

  一个IP地址应该定义为INT UNSIGNED数据类型,只占用4字节。

  通常情况下将列定义为VARCHAR(15),这样平均要占用12字节。这样平均要占用12个字节。

  这样一个改进就可以节约2/3的列数据占用的空间。INET_ATON()和INET_NTOA()函数可以管理IP在字符串和数字值之间的转换。

  请看下面的示例:

  

  这个技术是适合于ipv4。随着ipv6的广泛使用,一定要将这些128bit的整数值以binary(16)的类型存储,而不是用varchar数据类型那种人们可以阅读的方式。

来源文献:《EffectIve MySQL 之SQL语句最优化》李雪峰译。

优化MD5和IP在(MySQL)数据库中的存储的更多相关文章

  1. MySQL数据库中的存储引擎

    1.认识存储引擎 存储引擎指定了表的类型,即如何存储和索引数据.是否支持事务等,同时存储引擎也决定了表在计算中的存储方式. 存储引擎是以插件的形式被MySQL软件引入的,所以可以根据应用.实际的领域来 ...

  2. Emoji表情符号在MySQL数据库中的存储

    文章转自https://www.jianshu.com/p/20740071d854 在Android手机或者iPhone的各种输入法键盘中,会自带一些Emoji表情符号,如IPhone手机系统键盘包 ...

  3. 个人总结-7- 实现图片在MySQL数据库中的存储,取出以及显示在jsp页面上

    昨天主要是进行对数据库的内容提取出来并进行动态显示,这个只需要设置一个servlet从数据库中获取数据即可,只是图片比较特殊,不能显示. 今天准备继续找方法来实现图片得录入和显示到jsp中,准备从网上 ...

  4. mysql数据库中的存储引擎是什么意思呢

    需求描述: 在看mysql的内容,经常提到存储引擎,那么到底什么是存储引擎呢 在这里对于概念进行理解,记录下. 概念解释: 存储引擎(storage engine):存储引擎就是mysql中的一个组件 ...

  5. MySQL数据库的优化(上)单机MySQL数据库的优化

    MySQL数据库的优化(上)单机MySQL数据库的优化 2011-03-08 08:49 抚琴煮酒 51CTO 字号:T | T 公司网站访问量越来越大,导致MySQL的压力越来越大,让我们自然想到的 ...

  6. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

  7. 在mysql数据库中制作千万级测试表

    在mysql数据库中制作千万级测试表 前言: 最近准备深入的学一下mysql,包括各种引擎的特性.性能优化.分表分库等.为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张 ...

  8. 如何将MongoDB数据库的数据迁移到MySQL数据库中

    FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...

  9. MySQL数据库中的索引(一)——索引实现原理

    今天我们来探讨一下数据库中一个很重要的概念:索引. MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,即索引是一种数据结构. 我们知道,数据库查询是数据库的最主要 ...

随机推荐

  1. linux下独立core2.1部署发布过程

    1.vs2017独立发布.linux-64 2.winscp上传到当前用户下面.ubuntu tsl64来讲 3.超级用户sudo su 4.zip解压缩 uzip xxx.zip -d ../../ ...

  2. iostat -d -k -x 1 10

    iostat命令详解 转载 2011年08月03日 14:13:58 标签:磁盘 /扩展 /user 99809 iostat iostat用于输出CPU和磁盘I/O相关的统计信息. 命令格式: io ...

  3. Customize Netbeans Platform Splash Screen and About Dialog

    原帖一直打不开,通过谷歌翻译找到的 http://blogs.kiyut.com/tonny/2007/10/18/customize-netbeans-platform-splash-screen- ...

  4. Android Notification使用方法

    1.http://www.cnblogs.com/plokmju/p/android_Notification.html 2.http://blog.csdn.net/vipzjyno1/articl ...

  5. 爬虫-python调用百度API/requests

    from urllib.request import urlopen import requests import json url = "http://apis.baidu.com/txa ...

  6. PHP POST, GET 参数过滤,预防sql注入函数

    1. 实际过滤函数 可适当修改其中的正则表示式 1 static public function filterWords(&$str) 2 { 3 $farr = array( 4 " ...

  7. sql 注入安全过滤-安全模块

    <?php /** * 安全模块 * Email:zhangyuan@tieyou.com * 主要针对xss跨站攻击.sql注入等敏感字符串进行过滤 * @author hkshadow */ ...

  8. IOS时间与日期处理

    本文转载至 http://blog.sina.com.cn/s/blog_9cd1705d0102v5x4.html   主要有以下类: NSDate -- 表示一个绝对的时间点NSTimeZone ...

  9. iOS提交到appstore的新要求

    本文转载至http://blog.csdn.net/kqygww/article/details/41277555     64-bit and iOS 8 Requirements for New ...

  10. bsd socket 网络通讯必备工具类

    传输数据的时候都要带上包头,包头有简单的又复杂的,简单的只要能指明数据的长度就够了. 这里我写了一个工具类,可以方便地将整型的数据长度转换为长度为 4 的字节数组. 另一方面,可以方便的将长度为 4 ...