久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql - 數(shù)據(jù)庫(kù)設(shè)計(jì)( scheme 設(shè)計(jì) ), 應(yīng)該極力避免 NULL 嗎?

瀏覽:120日期:2022-06-12 15:49:15

問題描述

實(shí)際現(xiàn)象

了解到:

NULL 語(yǔ)義不清晰

query 時(shí)不好優(yōu)化

如果表示空值, 可以有其他的替代方式( 邏輯上 )

VARCHAR(100) NOT NULL DEFAULT ’’;

INT NOT NULL DEFAULT 0;

預(yù)期現(xiàn)象

希望能了解在設(shè)計(jì)scheme的時(shí)候, 對(duì)待NULL的態(tài)度( 記得有看過一篇文章說過, 應(yīng)該盡量: NOT NULL DEFAULT XXX)

問題解答

回答1:

是,應(yīng)該盡可能避免可為NULL的列,且盡可能顯示設(shè)置默認(rèn)值,尤其是被索引的列。mysql中,null占空間,如果該值被索引,那么其索引無效。

回答2:

是的,判斷字段不為空的時(shí)候,還要用 is not null,mysql中的NULL其實(shí)是占用空間的,B樹索引時(shí)不會(huì)存儲(chǔ)NULL值的,所以如果索引的字段可以為NULL,索引的效率會(huì)下降很多。

主站蜘蛛池模板: 诏安县| 开鲁县| 普格县| 海淀区| 定南县| 邳州市| 高阳县| 旬阳县| 黄龙县| 双柏县| 鄱阳县| 嘉兴市| 和田市| 屯昌县| 汾西县| 马公市| 岳阳市| 景谷| 敦煌市| 嫩江县| 富宁县| 阿拉善右旗| 克拉玛依市| 彭阳县| 咸丰县| 武功县| 长治市| 阜阳市| 含山县| 景德镇市| 石城县| 天全县| 九龙坡区| 治县。| 佛冈县| 博兴县| 霍林郭勒市| 玉山县| 中西区| 长寿区| 浑源县|