文档章节

正确选择MySQL数据列类型

Amamatthew
 Amamatthew
发布于 2014/09/29 12:56
字数 500
阅读 19
收藏 0

MySQL数据列类型选择是在我们设计表的时候经常会遇到的问题,下面就教您如何正确选择MySQL数据列类型,供您参考学习。

选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性。在选择MySQL数据列类型时,请从以下几个方面考虑:

存放到数据列中的数据类型。

数据值的取值范围。

考虑性能和处理效率。

数值操作比字符操作快。

小类型的处理速度比大类型快。

不同数据表中固定长度类型和可变长度类型的处理效率是不同的。

可变长度类型在经过删除和修改操作后容易产生碎片,降低系统性能,需定期运行OPTIMIZE TABLE命令以优化数据表。

固定长度类型由于有固定的长度,所以容易确定每条记录的起始点,可加快数据表的修复速度。

在MyISAM和ISAM表中使用固定长度类型数据列有助改善数据库性能。

在InnoDB表中,固定长度和可变长度数据列类型都以相同方式存储,所以固定长度数据列类型并没有性能优势,反而由于可度长度数据列类型由于占用存储空间较少,所以处理速度会快些。

可索引类型能加快数据的查询速度。

明确指定数据列的NOT NULL属性可使MySQL在检索过程中不用去判断数据列是否是NULL,所以可加快处理速度。

数据如何进行比较,是否区分大小写。

是否要在数据列上建立索引。


本文转载自:http://database.51cto.com/art/201011/234517.htm

Amamatthew
粉丝 67
博文 1050
码字总数 76443
作品 0
厦门
后端工程师
私信 提问
高性能Mysql数据库表设计原则

1、更小通常更好 选择表示数据的最小类型(正确存储你的内容):比如说,能够使用char 数据类型存储,就不必选择varchar,能够使用int型存储数据,就不应该使用long型。 理由:更小的数据类型...

京牛教育科技
2016/08/26
58
0
MySQL-学习-快速入门

1. 介绍 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某个人/物的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同; 键...

时间之友
2017/12/06
0
0
MySQL优化-2-数据库对象

优化表的数据类型 - PROCEDURE ANALYSE() 表需要使用何种数据类型,是需要根据应用来判断的。虽然应用设计的时候需要考虑字段的长度留有一定的冗余,但是不推荐让很多字段都留有大量的冗余,...

jiyayun
2012/12/19
38
0
MySQL数据类型选择优化

选择正确的数据类型对于获得高性能至关重要,数据类型选择可以有以下原则: 1,更小的通常更好;更小的数据类型通常更快,因为它们占用更少的磁盘,内存,CPU缓存,处理时需要的 CPU周期也少...

克温s
2016/03/17
109
0
MYSQL索引分析和优化设计方案

一、什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时 MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求...

有些服务器
2015/11/02
156
0

没有更多内容

加载失败,请刷新页面

加载更多

JS 打印控制

JS 打印控制 var PrintStartString = "<!--打印开始标示符-->";//设置打印开始区域var PrintEndString = "<!--打印结束标示符-->";//设置打印结束区域var HtmlText = window.do......

DrChenXX
24分钟前
5
0
LevelDB:使用介绍

LevelDB 提供的接口其实很简单,下面举例进行简单说明。 安装 git clone https://github.com/google/leveldb cd leveldb mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. ......

slagga
29分钟前
5
0
《JavaScript正则表达式迷你书》读书笔记

正则基础 常见简写形式 字符组 具体含义 记忆方式 \d 表示 [0-9]。表示是一位数字。 其英文是 digit(数字) \D 表示 [^0-9]。表示除数字外的任意字符。 \w 表示 [0-9a-zA-Z_]。表示数字、大小...

muzi131313
34分钟前
4
0
Git的反悔操作

概述 这次主要来讲讲Git的反悔操作,自己平时在写代码的过程中经常会出现想要弃用所有的改动或回滚到上一次commit的情况。Git上的反悔操作有reset、rebase、revert等,每个操作各有区别和对应...

duduYZ
34分钟前
3
0
实现双向绑定Proxy比defineproperty优劣如何?

前言 双向绑定其实已经是一个老掉牙的问题了,只要涉及到MVVM框架就不得不谈的知识点,但它毕竟是Vue的三要素之一. Vue三要素 响应式: 例如如何监听数据变化,其中的实现方法就是我们提到的双向...

寻找海蓝
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部