加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 我应该选择什么来获得更好的脚本性能和数据库大小,NULL

发布时间:2021-03-30 20:02:02 所属栏目:MySql教程 来源:网络整理
导读:在我的INNODB mySQL数据库中,我有一些名为active,verified,disabled等列,如name,surname. 更好地解释它 Column Type Null Defaultexpires int(10) Yes NULLverified tinyint(1) Yes NULLdisabled tinyint(1) Yes NULL 当用户登录我的页面时,我使用PHP并检

在我的INNODB mySQL数据库中,我有一些名为active,verified,disabled等列,如name,surname.

更好地解释它

Column      Type         Null  Default
expires     int(10)      Yes   NULL
verified    tinyint(1)   Yes   NULL
disabled    tinyint(1)   Yes   NULL

当用户登录我的页面时,我使用PHP并检查例如

if ($row['disabled']) { }

知道他是否被禁用(NULL或1). (只有这两种可能性).

现在,我将它们设置为NULL,但我认为如果使用0代替它更好,因为知道PHP中的0也是空的.

最后,我的问题是两个.

>数千个NULL记录是否增长而没有DB的原因而不是数千个0记录?
> NULL或0会不同地影响PHP执行的性能?如果是这样,mySQL和PHP的最佳组合是什么,如上所述的请求检查?

更新

在我的问题1上,我的问题是如果NULL实际上是null的大小,否则是3个字节对吗?

最佳答案 在mysql中,NULL值表示特定字段中没有值或者为空.理想情况下,如果您有一个名称和地址等字段,并且不想一直为它们分配值,则可以声明它的默认值为NULL.

但是如果你只谈论两种可能性,比如True或False项,那么最好选择空间效率最高的布尔字段.

更进一步,对于像布尔(例如:禁用)和日期(例如:DateJoined)这样的字段,不建议将它们保留为空或未分配.如果你不得不与VB之类的其他语言接口,你可能会遇到问题.例如,如果您尝试通过VB读取指定的日期字段,您将看到您的应用程序崩溃.但是通过PHP,这不是问题.为了安全起见,最好为这些字段分配默认的true或false(1或0)值.

最后,要检查空值,正常的关系运算符是不合适的.相反,您应该使用IS NULL或IS NOT NULL运算符.

更多信息:http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读