色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL中用什么數(shù)據(jù)類型存IP地址

jf_ro2CN3Fa ? 來源:飛天小牛肉 ? 2023-08-25 14:39 ? 次閱讀

來源:飛天小牛肉

提到 IP 地址(IPv4),大伙兒腦子里肯定馬上能浮現(xiàn)類似于 192.168.0.1、127.0.0.1 這種常見的 IP 地址,然后結(jié)合這個(gè)問題 “MySQL 中用什么數(shù)據(jù)類型存 IP 地址?”,于是乎脫口而出用 char 字符串類型存。

面試官一臉冷漠,你頓時(shí)意識(shí)到情況不對(duì),又仔細(xì)琢磨了一下。

然后發(fā)現(xiàn),這個(gè) IP 地址的長(zhǎng)度是變化的,最短可以是 0.0.0.0 只需要 7 位,最長(zhǎng)可以是 255.255.255.255 需要 15 位,于是自信地回答使用 varchar(15) 來存儲(chǔ) IP 地址,并為自己能夠想到這一層而暗自竊喜。

誰知面試官竟輕蔑一笑,問你 “確定嗎?”,你覺得這是面試官在考驗(yàn)?zāi)?,于是?jiān)定的回答 “確定”。

然后就開始了下一題

......

人們經(jīng)常使用 varchar(15) 列來存儲(chǔ) IP 地址,但事實(shí)上這并不是最優(yōu)解。

IP 地址的本質(zhì)是 32 位無符號(hào)整數(shù),類似于 192.168.0.1 這種點(diǎn)分十進(jìn)制的字符串寫法只是為了幫助人們理解和記憶,192.168.0.1 對(duì)應(yīng)的十進(jìn)制表示是 無符號(hào)整數(shù) 3232235521。

所以,說用字符串類型存 IP 地址的,其實(shí)是潛意識(shí)中以為 IP 地址是字符串,存的是點(diǎn)分十進(jìn)制的字符串,但正確的應(yīng)該是存 32 位的無符號(hào)整數(shù)

所謂有符號(hào)數(shù)其實(shí)就是將最高位作為符號(hào)位,比如 32 位的有符號(hào) INT,最高位是符號(hào)位,剩下 31 位才是真實(shí)的數(shù)值,所以有符號(hào) INT 的取值區(qū)間為:

無符號(hào) INT 的取值區(qū)間為:

下表列出了 MySQL 出各個(gè)整數(shù)類型有符號(hào)和無符號(hào)的的取值范圍,在定義表時(shí),可以在數(shù)據(jù)類型后面添加關(guān)鍵字 UNSIGNED 來定義無符號(hào)整數(shù),否則默認(rèn)為有符號(hào)整數(shù):

類型 有符號(hào)數(shù)取值范圍 無符號(hào)數(shù)取值范圍
TINYINT(1 字節(jié),8 bit) -128 ? 127 0 ? 255
SMALLINT(2 字節(jié),16 bit) -32768 ? 32767 0 ? 65535
MEDIUMINT(3 字節(jié),24 bit) -8388608 ? 8388607 0 ? 16777215
INT(4 字節(jié),32 bit) -2147483648 ? 2147483647 0 ? 4294967295
BIGINT(8 字節(jié),64 bit) -9223372036854775808 ? 9223372036854775807 0 ? 18446744073709551615

結(jié)合上表,可以看出,32 位的無符號(hào) INT 正好可以容納 IPv4 地址,下面是 INT UNSIGNED 和 VARCHAR(15) 兩種數(shù)據(jù)類型的對(duì)比:

存儲(chǔ)空間:4 字節(jié)的 INT 類型 15 字節(jié)的 VARCHAR(15) 更加節(jié)省存儲(chǔ)空間。另外,VARCHAR 除了會(huì)保存需要的字符數(shù),還會(huì)另加一個(gè)字節(jié)來記錄長(zhǎng)度(如果列聲明的長(zhǎng)度超過 255,則使用兩個(gè)字節(jié)記錄長(zhǎng)度),所以 VARCHAR(15) 其實(shí)要占用 16 個(gè)字節(jié)。

檢索速度:如果我們要在 IP 地址上建立索引,那么對(duì)于字符串索引來說,整數(shù)索引的檢索速度簡(jiǎn)直就是降緯打擊了,因?yàn)樽址愋偷谋容^是需要從第一位字符開始遍歷依次進(jìn)行的,速度較慢。

MySQL 非常貼心地提供了 IPv4 地址點(diǎn)分十進(jìn)制和無符號(hào)整數(shù)的相互轉(zhuǎn)換函數(shù),inet_aton 和 inet_ntoa(底層是二進(jìn)制移位操作,速度很快):

afe138ae-4309-11ee-a2ef-92fbcf53809c.png

當(dāng)然你更應(yīng)該在業(yè)務(wù)中去執(zhí)行這些轉(zhuǎn)換,減輕 MySQL 的壓力。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ip地址
    +關(guān)注

    關(guān)注

    0

    文章

    304

    瀏覽量

    17234
  • IPv4
    +關(guān)注

    關(guān)注

    0

    文章

    143

    瀏覽量

    20077
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13694
  • mysql架構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    682

原文標(biāo)題:我懵了,如果要存 IP 地址,用什么數(shù)據(jù)類型比較好?

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    變量的數(shù)據(jù)類型類型輸入連線的數(shù)據(jù)類型不兼容。

    請(qǐng)問這個(gè)vi錯(cuò)在哪里?變量的數(shù)據(jù)類型類型輸入的是一樣的啊運(yùn)行次序是會(huì)計(jì)貼士.vi在“支出情況”中點(diǎn)擊“保存”數(shù)據(jù)庫是MySQL@宗師級(jí)釣魚大師 @zhihuizhou @格式吶傷 @
    發(fā)表于 09-01 11:02

    照著別人的程序做了一遍,變量的數(shù)據(jù)類型和輸入類型不符

    @zhihuizhou主vi是會(huì)計(jì)貼士vi在獲取收入記錄.vi和獲取支出記錄vi中 有錯(cuò)誤變量的數(shù)據(jù)類型類型輸入連線的數(shù)據(jù)類型不兼容。本來用的數(shù)據(jù)庫是
    發(fā)表于 09-03 14:46

    MySQL字符類型

    MySQL數(shù)據(jù)類型之字符串(string)
    發(fā)表于 06-14 11:58

    mysql是根據(jù)哪些原則來進(jìn)行數(shù)據(jù)類型選擇的?

    mysql應(yīng)該根據(jù)那些原則來進(jìn)行數(shù)據(jù)類型的選擇!
    發(fā)表于 07-23 06:32

    vhdl數(shù)據(jù)類型

    VHDL中的標(biāo)識(shí)符可以是常數(shù)、變量、信號(hào)、端口、子程序或參數(shù)的名字。VHDL中的數(shù)據(jù)類型可以分成四大類: 標(biāo)量型(SCALAR TYPE):屬單元素的最基本的數(shù)據(jù)類型,通常用于描述一個(gè)單值數(shù)據(jù)對(duì)象
    發(fā)表于 03-30 15:59 ?11次下載

    MySQL支持的三種數(shù)據(jù)類型

    MySQL支持所有標(biāo)準(zhǔn)SQL數(shù)字數(shù)據(jù)類型。這些類型包括整數(shù)類型、定點(diǎn)類型、浮點(diǎn)類型和位置
    的頭像 發(fā)表于 05-03 17:33 ?3531次閱讀
    <b class='flag-5'>MySQL</b>支持的三種<b class='flag-5'>數(shù)據(jù)類型</b>

    MySQL為字段選擇合適數(shù)據(jù)類型

    在使用MySQL創(chuàng)建數(shù)據(jù)表時(shí),經(jīng)常會(huì)遇到如何為字段選擇合適的數(shù)據(jù)類型的問題,接下來我們一起分析字符串、數(shù)值、日期數(shù)據(jù)類型的選擇。
    的頭像 發(fā)表于 05-03 17:38 ?2860次閱讀
    <b class='flag-5'>MySQL</b>為字段選擇合適<b class='flag-5'>數(shù)據(jù)類型</b>

    Struct結(jié)構(gòu)數(shù)據(jù)類型

    Struct類型是一種由多個(gè)不同數(shù)據(jù)類型元素組成的數(shù)據(jù)結(jié)構(gòu),其元素可以是基本數(shù)據(jù)類型,也可以是Struct、數(shù)組等復(fù)雜數(shù)據(jù)類型以及PLC
    的頭像 發(fā)表于 07-25 17:02 ?3143次閱讀

    結(jié)構(gòu)數(shù)據(jù)類型(Struct)及應(yīng)用案例

    Struct數(shù)據(jù)類型使用非常靈活,隨時(shí)可以使用,但是相對(duì)于PLC數(shù)據(jù)類型 (UDT) 有以下缺點(diǎn),所以建議需要使用Struct類型時(shí),可以使用PLC數(shù)據(jù)類型(UDT)代替。
    的頭像 發(fā)表于 07-27 16:10 ?1987次閱讀

    MySQL中如何存儲(chǔ)IP地址

    在看高性能MySQL第3版(4.1.7節(jié))時(shí),作者建議當(dāng)存儲(chǔ)IPv4地址時(shí),應(yīng)該使用32位的無符號(hào)整數(shù)(UNSIGNED INT)來存儲(chǔ)IP地址,而不是使用字符串。 但是沒有給出具體原
    的頭像 發(fā)表于 08-11 11:02 ?1043次閱讀

    什么是數(shù)據(jù)類型轉(zhuǎn)換

    常用的3種數(shù)據(jù)類型:1、Python數(shù)據(jù)類型第一種:字符串(str)。 2、Python數(shù)據(jù)類型第二種:整數(shù)(int)。 3、Python數(shù)據(jù)類型第三種:浮點(diǎn)數(shù)(float)。
    的頭像 發(fā)表于 02-23 15:21 ?1850次閱讀

    定義數(shù)據(jù)類型

    在運(yùn)算之前我們必須首先定義出數(shù)據(jù)類型,定義出腳本支持的數(shù)據(jù)類型,這是運(yùn)算的基礎(chǔ)。 這一小節(jié)我們將定義出數(shù)據(jù)類型,在這里我們暫時(shí)定義四個(gè)數(shù)據(jù)類型:
    的頭像 發(fā)表于 03-03 10:10 ?1076次閱讀

    PLC數(shù)據(jù)類型的種類 常見的轉(zhuǎn)換方法

      PLC數(shù)據(jù)類型是指編程軟件中用來表示變量、常量、對(duì)象等數(shù)據(jù)類型。不同的PLC軟件可能會(huì)支持不同的數(shù)據(jù)類型,但常見的PLC
    發(fā)表于 03-17 17:41 ?3.6w次閱讀

    MySQL數(shù)據(jù)庫的url地址

    (Protocol):MySQL數(shù)據(jù)庫使用的協(xié)議通常是MySQL自定義的協(xié)議,它使用TCP/IP協(xié)議在客戶端和服務(wù)器之間進(jìn)行通信。在URL地址
    的頭像 發(fā)表于 12-06 10:58 ?2829次閱讀

    plc數(shù)據(jù)類型怎么理解和應(yīng)用

    PLC(可編程邏輯控制器)是一種工業(yè)自動(dòng)化設(shè)備,用于控制機(jī)械和工業(yè)過程。在PLC編程中,數(shù)據(jù)類型是非常重要的概念,因?yàn)樗鼪Q定了程序中數(shù)據(jù)的存儲(chǔ)和處理方式。正確理解和應(yīng)用PLC數(shù)據(jù)類型是編寫有效、可靠
    的頭像 發(fā)表于 12-19 11:39 ?4799次閱讀
    主站蜘蛛池模板: 艳鉧动漫片1~6全集在线 | 两个奶被男人揉了一个晚上 | 午夜福利电影网站鲁片大全 | 国产精品亚洲国产三区 | 亚洲日韩精品AV中文字幕 | 国产精品一区二区AV交换 | 两个人在线观看的视频720 | 亚洲大片免费观看 | 动漫美女喷水 | 中文字幕不卡一区二区三区 | free高跟丝袜秘书hd | 成人免费毛片观看 | 国产高潮国产高潮久久久久久 | 久久中文字幕免费高清 | 2021国产在线视频 | 无人区尖叫之夜美女姐姐视频 | 麻豆一二三四区乱码 | 久久re6热在线视频 久久er国产免费精品 | 欧美成人亚洲高清在线观看 | 二色AV天堂在线 | 起碰免费公开97在线视频 | 国内精品自线在拍2020不卡 | 中文字幕不卡一区二区三区 | 国内久久久久影院精品 | 66美女人体| 久久夜色撩人精品国产 | 精品国产90后在线观看 | 憋尿调教绝望之岛 | 免费精品国偷自产在线 | 草民电影网午夜伦理电影网 | 亚洲精品久久区二区三区蜜桃臀 | 黄色日本女人 | 国产精品亚洲精品影院 | 日本高清色片 | 亚洲天堂av2017 | 国产香蕉视频在线播放 | 国产成人小视频 | 18禁在线无遮挡羞羞漫画 | 久久99蜜桃精品麻豆 | 5g天天奭视频 | 精品少妇爆AV无码专区 |