当前位置: 首页 > news >正文

外国的网站是什么网站美食网站建设的思路

外国的网站是什么网站,美食网站建设的思路,wordpress换轮播海报,北京响应式h5网站开发转载自 设计数据库表时#xff0c;你真的会选数据类型吗 关系型数据库#xff0c;是开发人员最常接触的持久化存储之一了#xff0c;使用关系型数据库有很多好处#xff0c;比如支持通过事务处理保持数据的一致性、数据更新的开销很小、可以进行Join等复杂查询等。 同时…转载自  设计数据库表时你真的会选数据类型吗 关系型数据库是开发人员最常接触的持久化存储之一了使用关系型数据库有很多好处比如支持通过事务处理保持数据的一致性、数据更新的开销很小、可以进行Join等复杂查询等。 同时还有个好处就是关系型数据库有比较完善的数据类型支持很多不同类型的数据存储。但是这些数据类型的使用和选择也有很多套路在的本文就来简单介绍一下。 1. 整数类型 整数类型有tinyint、smallint、mediumint、int、bigint分别使用 8、16、24、32、64 位存储空间。 它们可以存储的值范围从 -2 的 (n-1) 次方到 2 的 (n-1) 次方 -1n 是存储空间的位数。 整数有可选的 unsigned 属性无符号类型表示不允许有负值因此可以使正数上限提高一倍。 有符号和无符号类型使用相同的存储空间并具有相同的性能因此可以根据实际情况选择合适的类型。 2.  实数类型 实数类型有FLOAT、DOUBLE 分别占用 48 字节。 如果插入值的精度即数字总位数高于实际定义的精度系统会自动进行四舍五入处理使值的精度达到要求。 其中 DECIMAL 也可以用来指定精度并且它比 FLOAT 和 DOUBLE 更适合做精确计算。在本文就不做详细介绍了如果有人想了解的话可以给我留言我下次再写。 3. 字符串类型 字符串类型有 VARCHAR CHAR BLOB TEXT 由于 BLOB 和 TEXT 不常用且由于篇幅问题就不展开描述了。本文主要对 VARCHAR 和 CHAR 进行介绍它们的区别如下表 对比内容VARCHARCHAR是否固定长度否是存储上限字节65535255保存或检索值时是否删除字符串末尾空格否是超过设置的范围后字符串是否会被截断否是 除了以上不同之外VARCHAR 还需要额外使用 1 个或 2 个字节来记录字符串长度。如果列的最大长度小于或等于 255 字节则使用 1 个字节否则使用 2 个字节。 由于 VARCHAR 是变长的所以在 update 时可能使行变得比原来更长这就导致需要进行额外的工作。如果一个行占用的空间增加并且在页内没有更多空间可以存储在这种情况下不同存储引擎的处理方式不一样的。例如MyISAM 会将行拆分为不同的片段存储InnoDB 则需要分裂页来使行可以放进页内。 在选择使用场景上重点要抓住 VARCHAR 是变长CHAR 是定长的特点。 比如在这些情况更适合使用 VARCHAR 字符串的最大长度比平均长度大很多 字段更新次数少所以碎片不是问题 使用了像 UTF-8 这样复杂的字符集每个字符都使用不同的字节数进行存储。 而在这些情况则更适合使用 CHAR 存储很短的字符串而 VARCHAR 还要多一个字节来记录长度本来打算节约存储的现在反而得不偿失 定长的字符串如 MD5、uuid 需要频繁修改的字段。因为 VARCHAR 每次存储都要有额外的计算得到长度等工作 这里抛出一个小问题使用 VARCHAR(5) 和 VARCHAR(200) 来存储 ‘hello’ 的空间开销是一样的。那么使用更短的列有什么好处呢思考几秒钟 答案节约内存因为更长的列会消耗更多的内存。MySQL 通常会分配固定大小的内存块来保存内部值。尤其是使用内存临时表进行排序或操作时会特别糟糕。在利用磁盘临时进行排序时也同样糟糕。 所以最好的策略是只分配真正需要的空间。 4. 日期和时间类型 下面表格是 TIMESTAMP 和 DATETIME 的一些对比 对比内容TIMESTAMPDATETIME占用字节48时间范围1970-01-01 08:00:01 2038-01-19 11:14:071000-01-01 00:00:00 ~ 9999-12-31 23:59:59存储的数据是否随时区变化是否 如果在插入数据时没有指定第一个 TIMESTAMP 列的值MySQL 则将这个列设置为当前时间同时 TIMESTAMP 比 DATETIME 的空间效率更高。 最后网上有很多讨论时间到底要使用 INT、TIMESTAMP、DATETIME 哪种类型更适合。我认为这没有一个固定答案具体可以参考文章《选择合适的 MySQL 日期时间类型来存储你的时间》我放在原文链接里面了。 5. 设计合理的数据类型 提供给大家 3 点设计原则 更小的通常更好 简单就好 尽量避免 NULL 下面对其详细说明一下 一般情况下应该选择可以正确存储数据的最小数据类型因为它们占用更少的磁盘、内存和 CPU 缓存并且处理时需要的 CPU 周期也更少。 简单数据类型的操作需要更少的 CPU 周期。例如整型比字符操作代价更低因为字符集和校对规则排序规则使字符比较比整型比较更复杂。 通常情况下最好指定列为 NOT NULL除非真的需要存储 NULL 值。因为可为 NULL 的列会使索引、索引统计和值比较都更复杂。可为 NULL 的列会使用更多的存储空间在 MySQL 里也需要特殊处理。 当可为 NULL 的列被索引时每个索引需要一个额外的字节在 MyISAM 里甚至还可能导致固定大小的索引变成可变大小的索引。通常把可为 NULL 的列改为 NOT NULL 带来的性能比较小所以在优化时没有必要先在现有表里修改这种情况。 参考 《高性能 MySQL》
http://www.zqtcl.cn/news/335710/

相关文章:

  • 金华网站建设团队产品网络推广方案范文
  • 拼多多刷单网站开发虚拟机可以做两个网站
  • wordpress安装路径和站点地址的设置信通网站开发中心
  • 柳州公司网站建设网站服务商
  • 智能建站实验报告成功营销网站
  • 基于jsp的网站开发开题报告青海公路工程建设市场信用信息服务网站
  • 做网站页面的软件wordpress如何开启page页面评论
  • 做网站最简单的长春财经学院
  • 导购网站 icp备案要求网站设置ico
  • ftp做网站营销策划方案步骤
  • 网站建设若干意见wordpress查看数据库密码
  • 什么网站可以做宣传西安网站建设聚星互联
  • 产品展示网站源码2015年做哪些网站致富
  • 潍坊网站制作推广怎样做彩票网站
  • 做视频网站被判刑自己怎么做企业网站建设
  • 安庆网站建设兼职哪个公司的卡网络最好
  • tp框架做响应式网站青岛网站建设首选
  • 外国自适应企业网站做网站模板用什么框架
  • win7做网站服务器隐私浏览器
  • 优秀的设计网站广州排名推广
  • 做电商设计有什么好的网站推荐软件产品开发流程图
  • 建设网站请示宣传企业网站建设的
  • 汉中定制网站建设公司网站建设建站知识
  • 做壁纸网站建站优化办事效率高
  • linux 做网站数据库怎么开发ios软件
  • 沛县网站设计html制作网页的代码
  • 南昌网站建设公司如何万维网络(临沂网站建设)
  • 张家界做网站洛阳网站建设哪家专业
  • 快餐网站模板电子版邀请函制作软件免费
  • 有什么做视频的素材网站网站名称注册保护