`

mysql 建表时,我们应该考虑的数据类型

 
阅读更多

本文是由《高性能mysql》摘录而来

 

如何选择最优的数据类型,请看下面几个原则

(1)更小通常更好

       好处:占用更少磁盘、内存和cpu缓存,处理时需要的cpu周期更少

 

(2)简单就好

      简单数据类型通常需要更少的cpu周期,例子:用mysql内建日期类型(date,dateTime,timestample)而不是字符串来存储日期,用整型存储ip

 

(3)尽量避免null

       null的列不容易进行查询优化;null列需要更多的存储空间(mysql做特殊处理);null列被索引时,每个索引需要一个额外的字节,在myisam里还可能会导致固定大小的索引。

       如果计划在该列上建立索引,那么,建议避免设置null

分享到:
评论

相关推荐

    Excel生成MYSQL建表语句

    标题中的“Excel生成MYSQL建表语句”是指利用JAVA编程技术,通过读取预先设计好的Excel模板,自动生成对应的MySQL数据库建表语句的过程。这个过程通常涉及到数据处理、文件读写以及数据库操作等核心技能。 首先,让...

    java实体转mysql建表语句

    - 使用合适的数据类型,考虑数据范围和精度。 - 添加适当的索引以优化查询性能,但不要过度索引。 - 考虑使用InnoDB存储引擎以利用事务支持和行级锁定。 在实际开发中,通过理解Java实体类和MySQL建表语句之间的...

    MySQL建表样本数据代码.rar

    这个语句允许指定表格的名称、列名以及每列的数据类型。例如: ```sql CREATE TABLE Employees ( ID INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(50), Position VARCHAR(50), Department VARCHAR(50), ...

    mysql建表语句.zip

    通过这个命令,我们可以定义数据库中的表结构,包括字段名、数据类型、约束条件等。例如: ```sql CREATE TABLE Employees ( ID INT PRIMARY KEY, Name VARCHAR(50), Position VARCHAR(50), Salary DECIMAL(10,...

    mysql数据抽取,自动生成hive建表语句

    总的来说,“mysql数据抽取,自动生成hive建表语句”是大数据环境下的一个关键环节,它涉及到数据库间的数据迁移、数据类型转换、ETL流程等多个方面。通过使用`AutoCreateTable`这样的工具,我们可以更便捷地构建起...

    MySql建表规范与说明.docx

    下面我们将详细介绍 MySql 建表规范和示例建表。 一、关系型数据库 关系型数据库是指通过主外键联系在一起的多个表。这些表之间存在逻辑关系,合并在一起形成一个整体。在关系型数据库中,一对一、一对多和多对多是...

    mysql批量导出建表语句.zip

    首先,让我们了解一下MySQL建表语句。在SQL中,`CREATE TABLE`语句用于创建一个新的数据库表。它定义了表的结构,包括字段名、数据类型、约束等。例如: ```sql CREATE TABLE Employees ( ID INT PRIMARY KEY, ...

    MySQL和DB2建表SQL差异

    ### MySQL与DB2建表SQL...综上所述,MySQL与DB2之间在建表SQL语句上的差异主要体现在数据类型、主键生成方式、注释支持等方面。了解这些差异对于跨数据库迁移非常重要,同时也需要注意选择合适的工具以提高开发效率。

    mysql建表语句学习

    本篇文章将深入探讨MySQL建表语句及其相关知识点。 1. **CREATE TABLE 语句的基本语法** `CREATE TABLE`语句用于创建新的数据表。其基本语法如下: ```sql CREATE TABLE table_name ( column_name1 column_...

    Mysql转oracle工具

    两个系统中的数据类型存在差异。例如,MySQL的`VARCHAR2`对应Oracle的`VARCHAR2`,但MySQL的`TINYINT`在Oracle中可能是`NUMBER(3)`,`BLOB`和`CLOB`在两个系统中都有,但处理方式不同。 3. **对象权限和安全模型**...

    在mysql建表中将日期设置为默认取得当前系统时间

    在MySQL数据库管理中,合理地设定表结构是确保数据准确性和效率的关键步骤之一。...然而,开发人员在使用这些特性时,还需考虑数据库版本兼容性、字段类型以及精度需求等因素,以确保系统的稳定运行和数据的一致性。

    Mysql建表语句转化为postgre语句

    - MySQL的`DEFAULT`关键字在PostgreSQL中保持不变,但某些数据类型的默认值可能需要调整,如日期时间类型的默认值。 5. 存储引擎: - MySQL有多种存储引擎,如InnoDB、MyISAM等,而PostgreSQL只有一个内置引擎,...

    mysql建表字段,相关内容 MySQL学习练习

    在"mysqllearn-master"这个项目中,你可能会找到关于这些概念的实际示例和练习,通过实践加深对MySQL建表字段和相关概念的理解。通过编写和执行SQL脚本,你可以亲手创建表,体验这些特性在实际应用中的效果。此外,...

    MYSQL数据库基本数据类型及建表和约束

    MYSQL数据库基本数据类型及建表和约束

    Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql

    1. **数据迁移需求分析**:在开始转换之前,了解源MySQL表的结构和数据类型至关重要。这包括表的名称、列名、数据类型、主键、外键、索引、约束等。 2. **SQL语法差异**:MySQL与Oracle之间的主要语法差异包括: -...

    mysql建表语句.docx

    这个语句允许我们定义表的结构,包括列的名称、数据类型、以及各种约束条件,以确保数据的完整性和一致性。 首先,我们来看 `CREATE TABLE` 语句的基本语法: ```sql CREATE TABLE 表名 ( 列1 列数据类型 约束...

    根据Mysql建表语句创建Java实体类工具

    通过使用本工具,用户可以直接输入MySQL的建表语句,工具将自动解析语句中的字段、数据类型,并生成对应的Java实体类代码。这不仅避免了手动编写实体类的繁琐工作,还减少了因人为错误导致的代码问题。 此外,该...

    mysql sql建表脚本

    在MySQL数据库系统中,SQL(Structured Query Language)是用于创建、操作和管理数据库的...对于"mysql sql建表脚本",理解并执行"usertable"的创建过程是关键,这涉及到SQL语法、数据类型选择以及表设计的最佳实践。

    生成hive建表语句

    在实际应用中,我们可能还需要处理复杂的数据类型,如数组、结构体、Map等。例如: ```sql CREATE TABLE complex_data ( id INT, details ARRAY, address STRUCT, city:STRING>, tags MAP, INT> ) ``` 此外,...

    MySQL建表的规范总结.pdf

    以下是对“MySQL建表的规范总结.pdf”中提到的关键点的详细解释: **设计表规范** 1. **字段非空和默认值**:创建表时,为确保数据完整性,字段应尽可能设置为非空(NOT NULL),并设定默认值。这样可以避免插入...

Global site tag (gtag.js) - Google Analytics