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

django做网站比较容易ui设计入门教程

django做网站比较容易,ui设计入门教程,甘肃建设厅职称查询官方网站,培训班网站建设在Mysql中很多表都包含可为NULL(空值)的列#xff0c;即使应用程序并不需要保存NULL也是如此#xff0c;这是因为可为NULL是列的默认属性。但我们常在一些Mysql性能优化的书或者一些博客中看到观点#xff1a;在数据列中#xff0c;尽量不要用NULL 值#xff0c;使用0即使应用程序并不需要保存NULL也是如此这是因为可为NULL是列的默认属性。但我们常在一些Mysql性能优化的书或者一些博客中看到观点在数据列中尽量不要用NULL 值使用0-1或者其他特殊标识替换NULL值除非真的需要存储NULL值那到底是为什么如果替换了会有什么好处同时又有什么问题呢那么就看下面(1)如果查询中包含可为NULL的列对Mysql来说更难优化因为可为NULL的列使得索引索引统计和值比较都更复杂。(2)含NULL复合索引无效.(3)可为NULL的列会使用更多的存储空间在Mysql中也需要特殊处理。(4)当可为NULL的列被索引时每个索引记录需要一个额外的字节在MyISAM里甚至还可能导致固定大小的索引(例如只有一个整数列的索引)变成可变大小的索引。理由佐证理由1不需要佐证首先新建环境, sql语句如下create table nulltesttable(id int primary key,name_not_null varchar(10) not null,name_null varchar(10)) ENGINEInnoDB DEFAULT CHARSETutf8 AUTO_INCREMENT1;alter table nulltesttable add index idx_nulltesttable_name_not_null(name_not_null);alter table nulltesttable add index idx_nulltesttable_name_null(name_null);explain select * from nulltesttable where name_not_nullname; // explain1explain select * from nulltesttable where name_nullname; // explain2从sql 执行可以看出, explain1中 key_len 32, explain2中 key_len 33explain1的32 由来: 10(字段长度) * 3(utf8字符编码占用长度) 2(varchar标识为变长占用长度)explain2的32 由来: 10(字段长度) * 3(utf8字符编码占用长度) 2(varchar标识为变长占用长度) 1(null标识位占用长度)两个字符串拼接, 如果包含null值, 则返回结果为null.insert into nulltesttable(id,name_not_null,name_null) values(1,one,null);insert into nulltesttable(id,name_not_null,name_null) values(2,two,three);select concat(name_not_null,name_null) from nulltesttable where id 1; -- out: nullselect concat(name_not_null,name_null) from nulltesttable where id 2; -- out: twothree如果字段允许null值, 且这个字段被索引. 如下的查询可能会返回不正确的结果select * from nulltesttable where name_null three -- out: nullselect count(name_null) from nulltesttable -- out: 1通常把可为NULL的列改为NOT NULL 带来的性能提升比较小所以(调优时)没有必要首先在现有schema中查找并修改掉这种情况除非确定这会导致问题。但是如果计划在列上建索引就应该尽量避免设计成可为NULL的列。当确实需要标识未知值时也不要害怕使用NULL。在一些场景中使用NULL可能会比某个神奇常数更好。从特定类型的值域中选择一个不可能的值例如用-1代表一个未知数可能导致代码复杂的多并容易引入BUG还可能让事情变得一团糟(注Mysql会在索引中存储NULL值Oracle不会)。当然也有例外InnoDB使用单独的位(bit)来存储NULL值所以对于稀疏数据(很多值位NULL只有少数行的列有非NULL值)由很好的空间效率这一点不适用于MyISAM。所以任何的设计和考虑请注意关注实际需求到此这篇关于浅谈为什么Mysql数据库尽量避免NULL的文章就介绍到这了,更多相关Mysql避免NULL内容请搜索站圈网以前的文章或继续浏览下面的相关文章希望大家以后多多支持站圈网
http://www.zqtcl.cn/news/625800/

相关文章:

  • 品牌建设网站特点有哪些企业可以做招聘的网站
  • wordpress 做网站seo全称英文怎么说
  • 宁波建网站哪家值得信赖wordpress 默认图片路径
  • 网站代运营公司天津手机版建站系统
  • 公司网站怎么做才高大上大数据营销的含义
  • 做网站点做关于什么的网站
  • 网站建设服务费税率多少汕头模板建站流程
  • 网站 建设实验小结做淘宝客优惠券网站还是APP赚钱
  • 付银行的网站建设费的会计科目网站建设前端
  • 做网站题材海南网站建设软件
  • 门户网站建设 考核从零开始学做网站cdsn
  • 百胜网站建设秀屿区建设局网站
  • 公司招聘做哪家网站建筑网站开发
  • 网站建设文案详情一条龙平台
  • 四站合一网站建设公司权威的手机网站制作
  • 自主网站建站上海金瑞建设集团网站
  • 阿里云网站建设方案书中山市公司企业网站的选择
  • 网站建设管理工作制度知名网站建设加盟合作
  • 网站定制公司推荐wordpress 插件 封面
  • 企业手机网站建设行情做外贸哪个网站比较好2017
  • 专业网站制作电话软件推广
  • 免费建站系统博客海外网站搭建
  • 网站建设与制作视频教学站酷网图片
  • 网站开发还有哪些万维网申请网站域名
  • 做网站费用上海判断网站做的好坏
  • 有了域名和空间怎么建网站哪些公司需要网页电商设计师
  • 网站开站备案深圳创业补贴10万
  • 圆通我做网站拉上海建站系统
  • 对于做网站有什么要求新闻发布会视频
  • 网站建设专业就业前景成都房产信息网 官网