濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MYSQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化方法詳解

MYSQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化方法詳解

熱門(mén)標(biāo)簽:怎么在地圖標(biāo)注位置生成圖片 悟空科技電話機(jī)器人 騰訊地圖標(biāo)注提升 400電話可以免費(fèi)申請(qǐng)嗎 銅陵防封電銷(xiāo)卡 福建外呼系統(tǒng)定制化 電銷(xiāo)卡外呼系統(tǒng)供應(yīng)商 美國(guó)反騷擾電話機(jī)器人 真人語(yǔ)音電話機(jī)器人

本文實(shí)例講述了MYSQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化方法。分享給大家供大家參考,具體如下:

 選擇合適的數(shù)據(jù)類(lèi)型

    1、使用可以存下你的數(shù)據(jù)的最小的數(shù)據(jù)類(lèi)型

    2、使用簡(jiǎn)單的數(shù)據(jù)類(lèi)型。Int要比varchar類(lèi)型在mysql處理上簡(jiǎn)單

    3、盡可能的使用not null定義字段

    4、盡量少用text類(lèi)型,非用不可時(shí)最好考慮分表

使用int來(lái)存儲(chǔ)日期時(shí)間,利用FROM_UNIXTIME()【將int類(lèi)型時(shí)間戳轉(zhuǎn)換成日期時(shí)間格式】,UNIX_TIMESTAMP()【將日期時(shí)間格式轉(zhuǎn)換成int類(lèi)型】?jī)蓚€(gè)函數(shù)進(jìn)行轉(zhuǎn)換

使用bigint來(lái)存儲(chǔ)IP地址,利用INET_ATON()【將IP格式轉(zhuǎn)換成int】,INET_NTOA()【將int格式轉(zhuǎn)換成正常IP格式】?jī)蓚€(gè)函數(shù)進(jìn)行轉(zhuǎn)換

表的范式化和反范式化

范式化是指數(shù)據(jù)庫(kù)設(shè)計(jì)的規(guī)范,目前的范式化一般指第三設(shè)計(jì)范式,也就是要求數(shù)據(jù)表中不存在非關(guān)鍵字段對(duì)任意候選關(guān)鍵字段

的傳遞函數(shù)依賴(lài)則符合第三范式。

不符合第三范式要求的表存在下列問(wèn)題:

    1、數(shù)據(jù)冗余:(分類(lèi),分類(lèi)描述)對(duì)于每一個(gè)商品都會(huì)進(jìn)行記錄

    2、數(shù)據(jù)的插入/更新/刪除異常

范式化操作:

反范式化是指為了查詢(xún)效率和考慮把原本符合第三范式的表適當(dāng)?shù)脑黾尤哂?,以達(dá)到優(yōu)化查詢(xún)效率的目的,反范式化是一種以空間來(lái)?yè)Q取時(shí)間的操作。

例:

   

對(duì)表進(jìn)行反范式化

反范式化查詢(xún)訂單信息:

表的垂直拆分

   垂直拆分就是把原來(lái) 很多列的表拆分成多個(gè)表,這就解決了表的寬度問(wèn)題。通常垂直拆分可以按以下原則進(jìn)行:

        1、把不常用的字段單獨(dú)存放到一個(gè)表中。

        2、把大字段獨(dú)立存放到一個(gè)表中。

        3、把經(jīng)常一起使用的字段放到一起。

水平拆分

    表的水平拆分是為了解決單表的數(shù)據(jù)量過(guò)大問(wèn)題,水平拆分的表每個(gè)表的結(jié)構(gòu)都是完全一致的

 常用的水平拆分方法:

    1、對(duì)customer_id進(jìn)行hash運(yùn)算,如果要拆分成5個(gè)表則使用mod(custoneer_id,5)取出0-4個(gè)值

    2、針對(duì)不同的hashID把數(shù)據(jù)存到不同的表中

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL查詢(xún)技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

您可能感興趣的文章:
  • mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作實(shí)例分析
  • mysql如何比對(duì)兩個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)的方法
  • mysql 從 frm 文件恢復(fù) table 表結(jié)構(gòu)的3種方法【推薦】
  • 詳解 linux mysqldump 導(dǎo)出數(shù)據(jù)庫(kù)、數(shù)據(jù)、表結(jié)構(gòu)
  • MySQL利用procedure analyse()函數(shù)優(yōu)化表結(jié)構(gòu)
  • Navicat for MySQL導(dǎo)出表結(jié)構(gòu)腳本的簡(jiǎn)單方法
  • Mysql復(fù)制表結(jié)構(gòu)、表數(shù)據(jù)的方法
  • MySQL中修改表結(jié)構(gòu)時(shí)需要注意的一些地方
  • MySQL修改表結(jié)構(gòu)操作命令總結(jié)
  • MySQL如何快速修改表的表結(jié)構(gòu)

標(biāo)簽:白銀 湖北 武威 烏海 云浮 聊城 湖南 臨汾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MYSQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化方法詳解》,本文關(guān)鍵詞  MYSQL,數(shù)據(jù)庫(kù),表,結(jié)構(gòu),優(yōu)化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MYSQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化方法詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于MYSQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    弥勒县| 巨鹿县| 闽侯县| 鄂州市| 浦北县| 湟源县| 敦煌市| 栾川县| 二连浩特市| 肥西县| 阿拉善左旗| 朔州市| 格尔木市| 衡阳市| 兰溪市| 大方县| 时尚| 盘山县| 襄樊市| 岑巩县| 石景山区| 十堰市| 灵台县| 柏乡县| 吉林省| 葫芦岛市| 渝中区| 甘洛县| 湟中县| 万山特区| 泸溪县| 淳安县| 永仁县| 靖江市| 昂仁县| 淮阳县| 曲水县| 寿阳县| 启东市| 泰安市| 马龙县|