MySQL的表的优化和列类型的选择】的更多相关文章

列选择原则: 1:字段类型优先级 整型 > date,time  >  enum,char>varchar > blob 列的特点分析: 整型: 定长,没有国家/地区之分,没有字符集的差异 time定长,运算快,节省空间. 考虑时区,写sql时不方便 where > ‘2005-10-12’; enum: 能起约束值的目的, 内部用整型来存储,但与char联查时,内部要经历串与值的转化 Char 定长, 考虑字符集和(排序)校对集 varchar, 不定长 要考虑字符集的转换…
数据类型及字节数参考http://www.cnblogs.com/qlqwjy/p/8590639.html -------------------------表的优化:----------------------- 1: 定长与变长分离 如 id int, 占4个字节, char(4) 占4个字符长度,也是定长, time 即每一单元值占的字节是固定的. 核心且常用字段,宜建成定长,放在一张表. 而varchar, text,blob,这种变长字段,适合单放一张表, 用主键与核心表关联起来.…
1.选择优化的数据类型 MySQL支持很多种不同的数据类型,并且选择正确的数据类型对于获得高性能至关重要.不管选择何种类型,下面的简单原则都会有助于做出更好的选择: (1).更小通常更好 一般来说,要试着使用正确地存储和表示数据的最小类型.更小的数据类型通常更快,因为它们使用了更少的磁盘空间.内存和CPU缓存,而且需要的CPU周期也更少. 但是要确保不人低估需要保存的值,在架构中的多个地方增加数据类型的范围是一件极其费力的工作.如果不确实需要什么数据类型,就选择你认为不会超出范围的最小类型. (…
1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都是数值. 系统将数值型分为整数类型和浮点数类型. 2.1 整数类型 在SQL中因为更多的要考虑如何节省磁盘空间,所以系统将整数类型又细分成了5类: tinyint 迷你整型,使用一个字节存储,表示的状态最多为256种. smallint      小整型,使用2个字节存储,表示的状态最多为65536…
最近想要写一个根据数据库表结构生成实体.mapper接口.mapping映射文件.service类的简单代码生成工具,所以查阅了一些资料,怎样获取数据库的表.表中字段.字段类型.字段注释等信息. 最后写了一个简单的工具类,代码如下: package com.lnjecit.generator.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.*; import java.util.Arra…
1.什么是派生表derived 关键字:子查询–>在From后where前的子查询 mysql; +----+-------------+------------+------+---------------+-------------+---------+-------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+--…
MySql中增加一列 如果想在一个已经建好的表中添加一列,可以用: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(45) not null; 这条语句向已有的表中加入新的一列,这一列在表的最后一列位置.如果希望添加在指定的一列,可以用: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(45) not null after COLUMN_NAME; 上面这个命令…
1,把表中某一列的内容合并为一行 select province,CONCAT('[\"全部\",\"',GROUP_CONCAT(city ORDER BY cityID separator '\"\,\"'),'\"]') as group1 from hat_city a LEFT JOIN hat_province b on a.father=b. provinceID GROUP BY father ORDER BY cityID:根据…
下面列出:1.增加一个字段alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空alter table user add COLUMN new2 VARCHAR(20) NOT NULL; //增加一个字段,默认不能为空2.删除一个字段alter table user DROP COLUMN new2; //删除一个字段3.修改一个字段alter table user MODIFY new1 VARCHAR…
ALTER TABLE t_cas_construction_statistics ADD COLUMN resource_one_online_count DOUBLE(128,0) COMMENT '一类视频在线数'…