• mysql基础知识


    一、小数问题
    对于小数的表示,MySQL分为两种方式:浮点数和定点数。
    浮点数包括float(单精度)double(双精度),
    而定点数则只有decimal 一种表示。
    定点数在MySQL 内部以字符串形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。
     
    二、时间类型                                                  所占字节数
    如果表示年月日:DATE                                   4
    如果表示年月日时分秒:DATETIME            8
    如果只用来表示时分秒:TIME                       3
    如果经常插入或者更新当前系统时间:TIMESTAMP     4
    如果只表示年份:YEAR                                   1
     
    三、ENUM
    enum('M','F')的第一值'M',这点用户在使用时要特别注意。
    另外,ENUM 类型只允许从值集合中选取单个值,而不能一次取多个值
     
    四、SET
    SET 类型可以从允许值集合中选择任意1 个或多个元素进行组合,所以对于输入的值只要是
    在允许值的组合范围内,都可以正确地注入到SET 类型的列中。对于超出允许值范围的值例
    如('a,d,f ')将不允许注入到上面例子中设置的SET 类型列中,而对于( 'a,d,a' )这样包含重
    复成员的集合将只取一次,写入后的结果为“a,d”
     
     
    五:varchar和char
    MySQL 中,不同的存储引擎对 CHAR VARCHAR 的使用原则有所不同,这里简单概括如下。
    MyISAM 存储引擎:建议使用固定长度的数据列代替可变长度的数据列。
    MEMORY 存储引擎:目前都使用固定长度的数据行存储,因此无论使用 CHAR VARCHAR 列都没有关系。两者都是作为 CHAR 类型处理。
    InnoDB 存储引擎:建议使用 VARCHAR 类型。对于InnoDB 数据表,内部的行存储格式没有区分固定长度和可变长度列(所有数据行都使用指向数据列值的头指针),因此在本质上,使用固定长度的 CHAR 列不一定比使用可变长度 VARCHAR 列性能要好。因而,主要的性能因素是数据行使用的存储总量。由于 CHAR 平均占用的空间多于VARCHAR,因此使VARCHAR 来最小化需要处理的数据行的存储总量和磁盘 I/O 是比较好的。
     
    六:TEXT与BLOB
    TEXT 或者BLOB,二者之间的主要差别是BLOB 能用来保存二进制数据,比如照片;而TEXT 只能保存字符数据
    BLOB 和TEXT 值会引起一些性能问题,特别是在执行了大量的删除操作时。
    删除操作会在数据表中留下很大的“空洞”,以后填入这些“空洞”的记录在插入的性能上会有影响。为了提高性能,建议定期使用OPTIMIZE TABLE 功能对这类表进行碎片整理,
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    jQuery的选择器中的通配符[id^='code']
    chorme插件 ,在浏览器上模拟手机,pad 查看网页|前端技术开发必备插件
    http://hsax.kcpci.com:81/admin/login.aspx
    ashx页面返回json字符串|jQuery 的ajax处理请求的纠结问题
    用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法
    DataTable 导入到Excel的最佳选择Npoi
    隐藏和显示服务器端控件以及Html控件
    JS只能输入数字,数字和字母等的正则表达式
    把本地表导入远程表
    [flex & bison]编译器杂谈
  • 原文地址:https://www.cnblogs.com/tangchuanyang/p/5992883.html
Copyright © 2020-2023  润新知